代码如图!我每一次窗口改变调用canvas方法同时清除以前的绘画红线,但是现实结果却没有清除以前的红线!
求指点是什么原因!
附上一个现实结果图!
代码如图!我每一次窗口改变调用canvas方法同时清除以前的绘画红线,但是现实结果却没有清除以前的红线!
求指点是什么原因!
附上一个现实结果图!
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
这不是没有清除的问题,是多个 Canvas 的问题,你没有发现窗口在改变大小时会生成多个 Canvas 标签吗?清除画布是生效的,只是你清除的是新画布,对于之前绘制了内容的画布当然不起作用了。
我在你的代码中只看到创建 Canvas 了,没有看到删除之前的 Canvas。
当然你这个处理方式不对,不应该重复创建 Canvas。
应该是只创建一个 Canvas,窗口变化时改变 Canvas 的尺寸,再 clearRect(), 然后绘制内容。