canva 绘制多边形

82 阅读1分钟

参数确认点的位置 centerX 中心点x centerX 中心点Y radius 半径, sider 绘制几条边

getPoints: function (centerX:number, centerY:number, radius:number, sides: number) {
    let points = [];
    let angle = 0;
    for (var i = 0; i < sides; i++) {
        points.push({
            x: centerX + radius * Math.cos(angle),
            y: centerY - radius * Math.sin(angle)
        })
        angle += 2 * Math.PI / sides

    }
    return points
}

使用


let fir_box_points = that.getPoints(300,300, 100, 6)
ctx.beginPath();
ctx.moveTo(fir_box_points[0].x, fir_box_points[0].y);
ctx.strokeStyle = 'white'
ctx.lineWidth = 3
for (var i = 1; i < fir_box_points.length; i++) {
     ctx.lineTo(fir_box_points[i].x, fir_box_points[i].y)
}
ctx.lineTo(fir_box_points[0].x, fir_box_points[0].y)
ctx.stroke()

此处仅为代码,