canvas重绘必须用clearRect清除全部重绘吗?

有几百几千个对象,全部清除重绘一次不影响性能吗?尤其是在mousemove里面,移动一个对象

阅读 3.8k
1 个回答

需要先清除之前的内容。但不是全部清除而是可以局部的, clearRect 方法接受四个参数,分别是要清除的区域的左上角 x 坐标、左上角 y 坐标、宽度和高度.

var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(0,0,300,150);
ctx.clearRect(20,20,100,50);

image.png

https://www.w3school.com.cn/tags/canvas_clearrect.asp
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题