是否可以在不清除整个画布的情况下使用javascript从画布上删除元素?

时间:2019-07-14 15:56:38

标签: javascript html5-canvas

我想做的是在画布上绘制一个圆,然后在调用一个函数时删除前一个圆并绘制一个新圆。不必重新绘制整个画布是否可以?

以下面的代码为例

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.arc(95, 50, 40, 0, 2 * Math.PI);
ctx.stroke();

1 个答案:

答案 0 :(得分:0)

画布是像素的集合(就像一个图像,但是它是从代码中计算出来的,而不仅仅是从文件中加载)。

删除旧圆并绘制新圆的唯一方法(如果要获得像素完美的效果)是用新的圆重新绘制所有内容。

一个可能的解决方案可能是使用三个不同的canvas元素,一个在另一个之上:

  1. 后面正在变化的部分
  2. 变化中的部分
  3. 正在发现正在变化的部分

1和3可以保持固定,您只需要重画第二个画布。