问题:canvas画笔颜色和其他标签的css颜色都设置为"white",显示出来的颜色差距很大,如下图:
解决方案:设置画笔的宽度为2及其以上ctx.lineWidth = 2
(具体原因不清楚)
效果:
双缓冲可解决canvas重绘(clearRect)后的闪烁问题
ctx.clearRect方法本身问题
ctx.clearRect方法在反复多次重绘后,本身对画布的清除效果会有一点的差异,反复清除后画布不能完全清除干净,查阅资料后得到解决办法(先将画布宽度归零一次再执行方法):
// 解决clearRect无法完全清除画布的问题
canvas.width = 0
canvas.width = width
ctx.clearRect(0, 0, canvas.width + 1, canvas.height + 1)