canvas clearRect 清除不成功

clipboard.png
如图在部分安卓机不兼容,会出现的效果是,又1变成35的数字变化中,1没有被删除,和35重叠在一起,这个问题应该怎么解决啊
演示地址如下:
https://chengzhuotc.github.io...

阅读 11.7k
3 个回答

在moveTo的前面加个cts.save();
在fillText后面加个cts.restore()试试;

你要检查一下clearRect的范围有没有超出画布的大小,如果超出的话是会有一些莫名其妙的bug。

因为canvas绘制可以重叠。
可以参考下这篇博客:
http://www.jianshu.com/p/2d51...
这篇博客里在每次绘制前都会使用clearRect()清除原先的矩形,你可以类似得在每次绘制文字前,清除原先文字。
但是我查了canvas的api后发现,filltext()没有对应的clear方法,也可能是我没找到。
所以建议你试一下:
在每次绘制前,都绘制一个" "空字符串,即
cts.fillText(process+"%",x,y)前加一句cts.fillText(" "+"%",x,y)覆盖掉之前写的字再重写。
希望能帮到你~

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