我想做的是在画布上绘制一个圆,然后在调用一个函数时删除前一个圆并绘制一个新圆。不必重新绘制整个画布是否可以?
以下面的代码为例
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();
答案 0 :(得分:0)
画布是像素的集合(就像一个图像,但是它是从代码中计算出来的,而不仅仅是从文件中加载)。
删除旧圆并绘制新圆的唯一方法(如果要获得像素完美的效果)是用新的圆重新绘制所有内容。
一个可能的解决方案可能是使用三个不同的canvas
元素,一个在另一个之上:
1和3可以保持固定,您只需要重画第二个画布。