【发布时间】:2012-06-01 05:48:03
【问题描述】:
我似乎偶然发现了 Chrome 的画布实现中的一个错误。如果您创建一个宽度较大的画布元素(例如 17000),则在画布下方一定距离后绘制到该画布的任何路径都将被绘制为宽度仅为一像素或两个像素。此外,宽度不能是整个像素,或者根本不绘制。
这是一个说明问题的示例。这两个矩形应该是相同的宽度,但它们不是。
http://jsbin.com/ehuvew/2/edit
有人遇到过吗?有人知道解决方法吗?
【问题讨论】:
-
你似乎是对的。可能是舍入错误。明显的解决方法:制作多个画布。
-
检查这个“错误”的截止值是否在 16,384 左右,这表明 chrome 内部某处出现了一些位数学错误。 17,000 对于这样的事情来说太随意了。
-
@MarcB 你似乎在做某事。如果我将宽度更改为 16,384,它会正确显示,但 16,385 会显示不正确的行为。
-
所以... chrome 中的画布大小限制为 14 位?有趣。
-
@MarcB:Webkit limits both dimensions to 32k and total area to 32k*8k。我猜 OP 的正方形面积是 16k*16k...
标签: javascript canvas html5-canvas