为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2018-10-17 13:41:43
代码如图!我每一次窗口改变调用canvas方法同时清除以前的绘画红线,但是现实结果却没有清除以前的红线!求指点是什么原因!附上一个现实结果图!
查看完整描述

1 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

这不是没有清除的问题,是多个 Canvas 的问题,你没有发现窗口在改变大小时会生成多个 Canvas 标签吗?清除画布是生效的,只是你清除的是新画布,对于之前绘制了内容的画布当然不起作用了。

我在你的代码中只看到创建 Canvas 了,没有看到删除之前的 Canvas。

当然你这个处理方式不对,不应该重复创建 Canvas。

应该是只创建一个 Canvas,窗口变化时改变 Canvas 的尺寸,再 clearRect(), 然后绘制内容。


查看完整回答
反对 回复 2018-11-05
  • 1 回答
  • 0 关注
  • 4401 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号