0
我有一個HTML 5畫布,並在其上使用BezierTo筆觸。HTML5帆布貝塞爾塗抹
順時針移動鼠標/目標時,我遇到了「拖尾」問題。逆時針做同樣的事情不會引起任何問題。
我不明白爲什麼我得到填充類型的效果,而不是一條線。沒有人似乎有這個問題。
爲曲線的代碼是:
ctx.strokeStyle = "#D43";
ctx.lineWidth = 8 * scale;
ctx.beginPath();
ctx.moveTo(379 * scale, 473 * scale);
var xDif = 379 - redProbeX ;
var yDif = 473 - redProbeY ;
ctx.bezierCurveTo(
(379 - xDif/3 + 38) * scale, (473 - yDif * 2/5 + 250) * scale,
(379 - xDif * 3/5 + 38) * scale, (473 - yDif * 2/3 + 250) * scale,
(redProbeX + 38 * scale) , (redProbeY + 250 * scale));
ctx.stroke();
你可以看到拖尾在這個視頻:http://aaronkuchma.ca/bezierToSmear.mp4
畫布通常重繪順利;然而,當CamStudio捕捉視頻時,它仍然滯後。這是我在另一個時間處理的問題。
看起來您在繪製新筆畫之前並未正確刪除筆畫。這個問題似乎超出了你發佈的代碼。 – Philipp
也別忘了使用closePath。 (在中風之前或之後),否則路徑將堆積並且長期放慢顯示。 – GameAlchemist