【发布时间】:2016-04-20 22:50:25
【问题描述】:
我正在像这样在画布上玩多个剪裁的形状:
但是(仅在 Chrome 中),如果您将该画布元素的宽度或高度增加 1 像素,它不会呈现所有形状。
有什么想法吗?看看jsfiddle:
https://jsfiddle.net/entozoon/6fqq0567/
代码非常简单:
for (i=1;i<=5;i++) {
ctx.save();
// clipping mask
ctx.beginPath();
ctx.arc(50 * i, 50, 20, 0, Math.PI * 2, true);
ctx.closePath();
ctx.clip();
// shape to be clipped
ctx.beginPath();
ctx.fillStyle = "red";
ctx.arc(50 * i, 70, 20, 0, Math.PI * 2, true);
ctx.closePath();
ctx.fill();
ctx.restore();
}
-- 更新--
事实证明,问题与 2D 画布加速有关。如果我禁用 修复它的 chrome://flags 中的“加速 2D 画布”。
但这绝对不是解决方案!
一定是图形问题..? (是的,我有最新的驱动程序、chrome 等)
【问题讨论】:
-
在 Win10、Chrome 49.0.2623.110 上调整大小对我有用。 Chrome 最近推出了几个 canvas-buggy 版本……也许会更新?
-
无法在 osX 10.9、Chrome 49.0.2623.110 上重现
标签: javascript html google-chrome canvas html5-canvas