我試圖找出爲什麼繪製形狀,然後繪製了它在新的顏色(如雖然以突出顯示它),然後重新繪製原始(未突出顯示)正在留下高亮顏色的痕跡。相同的電話電弧產生不同大小
我在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