在html5画布应用程序中,我使用裁剪来重绘画布的受损部分,如下所示:
ctx.beginPath();
ctx.rect(30, 30, 100, 100);
ctx.rect(100, 100, 100, 100);
ctx.clip();
ctx.clearRect(0, 0, 600, 400);
我还创建了一个fiddle来说明问题。在除IE10之外的每个有能力的浏览器上,它将显示两个黑色重叠矩形。
现在的问题是,这是一个IE10错误,还是因为它更贴近标准,实际上是预期的行为,只是运气,它可以在其他所有浏览器中运行。如果是这样,那么这样做的正确方法是什么?
答案 0 :(得分:2)
这个明显的IE10错误的一个可能的规避是逐个清除矩形。一个优点:它更快,因为它不需要设置剪辑
答案 1 :(得分:1)
你需要调用ctx.fill();最后
答案 2 :(得分:1)
这是IE10中的一个错误。我在这里发布了类似的问题:
MS说,“是的,它是一个错误。请等几年让我们解决它。”对于MS来说太糟糕了,所有其他浏览器现在都可以使用。