尝试在HTML Canvas中将半圆区域划分为彩色区域。 这是我试过的,
ctx.save();
ctx.translate(c.width / 2, (c.height / 2)-1);
ctx.strokeStyle = "red"
ctx.lineWidth = 3;
ctx.lineCap = "round";
var x=400; // number of times lineTo strokes. Greater the value the better is the smoothness
var factor=1; //with =1, the entire semicirular region is filled.
for (var i = 0; i < x; i++) {
//ctx.rotate(Math.PI);
ctx.beginPath();
ctx.strokeStyle = "rgba(255,0,0,1)";
//ctx.rotate(-Math.PI/2);
ctx.rotate((-Math.PI * factor) / x);
//1st color segment, factor=1 helps to paint 100% of semicircular region
ctx.moveTo(122, 0);
ctx.lineTo(70, 0);
ctx.stroke();
//ctx.rotate(Math.PI); //2nd color segment
替代方式,可能是使用同心弧()段。我现在正在尝试。但任何一个可以投入光线的人都会给你很大帮助。
答案 0 :(得分:1)
http://www.phpied.com/wp-content/uploads/2008/02/canvas-pie.html处的样本是我正在寻找的样本。 按照我的预期使用同心弧()。