HTML5中polygon坐标,javascript - How to draw polygons on an HTML5 canvas? - Stack Overflow

Here is a function that even supports clockwise/anticlockwise drawing do that you control fills with the non-zero winding rule.

// Defines a path for any regular polygon with the specified number of sides and radius,

// centered on the provide x and y coordinates.

// optional parameters: startAngle and anticlockwise

function polygon(ctx, x, y, radius, sides, startAngle, anticlockwise) {

if (sides < 3) return;

var a = (Math.PI * 2)/sides;

a = anticlockwise?-a:a;

ctx.save();

ctx.translate(x,y);

ctx.rotate(startAngle);

ctx.moveTo(radius,0);

for (var i = 1; i < sides; i++) {

ctx.lineTo(radius*Math.cos(a*i),radius*Math.sin(a*i));

}

ctx.closePath();

ctx.restore();

}

// Example using the function.

// Define a path in the shape of a pentagon and then fill and stroke it.

context.beginPath();

polygon(context,125,125,100,5,-Math.PI/2);

context.fillStyle="rgba(227,11,93,0.75)";

context.fill();

context.stroke();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值