我用下面的JS代码绘制一个16边形:如何在HTML5中创建具有平面边的多边形形状?
context.beginPath();
var x_offset = 350;
var y_offset = 350;
var sides = 16;
var r = 300;
context.strokeStyle = "#000000";
for (i = 0; i < (sides); i++) {
x = x_offset + (r * Math.cos(2 * Math.PI * i/sides));
y = y_offset + (r * Math.sin(2 * Math.PI * i/sides));
context.moveTo(x, y);
x = x_offset + (r * Math.cos(2 * Math.PI * (i+1)/sides));
y = y_offset + (r * Math.sin(2 * Math.PI * (i+1)/sides));
context.lineTo(x, y);
}
context.stroke();
这是工作正常,但我想多边形有一个“平”边(上,下,左,对)。在下面的图片中,您会看到2个多边形:带有红色背景色的多边形是我想要实现的,透明多边形是由上面的代码生成的。
问题:怎样才能生成一个像红色一样的扁平边的多边形?我需要做一个context.rotate()吗?我宁愿不要,以避免所有的翻译()的东西。
多我认为这将是很容易直接在这里 – aurbano 2012-03-18 20:41:00