我试图找出为什么绘制形状,然后绘制了它在新的颜色(如虽然以突出显示它),然后重新绘制原始(未突出显示)正在留下高亮颜色的痕迹。相同的电话电弧产生不同大小
我在this fiddle再现的问题。楔形物以浅蓝色绘制。有一个红色按钮将以红色绘制,然后是另一个重新绘制原始形状的按钮。所有参数都是相同的(除了颜色),但是在点击按钮重置颜色后,楔子上会有一丝微弱的红色。
前:
后:
下面是相关代码:
drawWedge(250, 250, 200, 0, 18, "rgb(150, 254, 223)");
$("#red").click(function() {
drawWedge(250, 250, 200, 0, 18, "rgb(255, 0, 0)");
});
$("#back").click(function() {
drawWedge(250, 250, 200, 0, 18, "rgb(150, 254, 223)");
});
function d2r(degrees) {
return degrees * (Math.PI/180.0);
}
function drawWedge(centerX, centerY, r, start, end, color) {
context.beginPath();
context.moveTo(centerX, centerY);
context.arc(centerX, centerY, r, d2r(start), d2r(end), false);
context.closePath();
context.fillStyle = color;
context.fill();
}
你是故意不清除绘制新的帧之前的印刷品吗?如果没有,那么解决方法是简单的:http://jsfiddle.net/X7deh/1/ – Esailija 2012-01-12 23:06:20
@Esailija - 刚学的画布,所以我不会刻意做什么。抛出 - 这是正确的答案。 – 2012-01-12 23:16:35
@Esailija - 我只是查了一下这个方法,看起来它的名字就是这么做的。我无法真正清除这个楔子周围的矩形,因为旁边会有很多其他的东西。 (我正在制作饼图以获得乐趣)。有没有clearArc方法,所以你会推荐什么 – 2012-01-12 23:19:52