猿问

有木有一个方法在每一次绘画canvas之前先清除原来在canvas绘画的图像?

代码如图!我每一次窗口改变调用canvas方法同时清除以前的绘画红线,但是现实结果却没有清除以前的红线!
求指点是什么原因!

附上一个现实结果图!

https://img3.mukewang.com/5bdfda800001d30c06890614.jpg

喵喵时光机
浏览 4402回答 1
1回答

侃侃无极

这不是没有清除的问题,是多个 Canvas 的问题,你没有发现窗口在改变大小时会生成多个 Canvas 标签吗?清除画布是生效的,只是你清除的是新画布,对于之前绘制了内容的画布当然不起作用了。我在你的代码中只看到创建 Canvas 了,没有看到删除之前的 Canvas。当然你这个处理方式不对,不应该重复创建 Canvas。应该是只创建一个 Canvas,窗口变化时改变 Canvas 的尺寸,再 clearRect(), 然后绘制内容。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答