bwi*_*els 13 javascript html5 canvas
我在工作中用帆布打造了一个奇怪的边缘案例.在绘制从画布的顶部到底部的垂直线时,clearRect不会清除画布.渲染其他东西时,clearRect工作正常.
我不确定我是否遗漏了一些明显的东西,如果这是故意的行为或浏览器错误(不太可能,因为在chrome,safari,firefox和opera上的行为是相同的).如果是故意行为,是否有人知道其背后的理由和/或可能指向某些文档?
我做了一个小的测试用例,清楚地显示了行为,只有组合clearRect/vertical线条没有清除画布:http: //jsfiddle.net/kZj6F/
谢谢!
Pru*_*sse 23
您的问题是缺少beginPath导致后续行添加到stroke绘制所有行的同一路径.
如果切换到点并使用clearRect选项返回行,则选择您可以看到最后arc添加到正在绘制的路径.只需添加一个电话ctx.beginPath();之前ctx.moveTo(randomX + 0.5, 0); ctx.lineTo(randomX + 0.5, canvas.height);,问题就解决了.
您可以查看http://jsfiddle.net/kZj6F/1/以查看它是否正常工作.
如果它们被添加到路径并且路径未被清除,它也将具有其他形状.
| 归档时间: |
|
| 查看次数: |
7370 次 |
| 最近记录: |