什么决定了IE11中画布HTML元素的最大大小



我正在尝试使用帆布元素,但是高度不能超过 16384像素。如果我尝试使用16385像素,则在IE11中获得IndexSizeError。这在Chrome中正常工作。画布是在PDF生成中使用的,我真的没有时间将一代人移至服务器。

我已经谷歌搜索了一点,根据平台和浏览器,大小似乎有所不同。

是浏览器分配的内存和内存设置吗?

编辑:我在这里找到了一些信息:

注意画布上渲染区域的最大尺寸为0,0至8192x 8192像素,无论画布的大小如何。例如,画布以8292像素的宽度和高度创建。矩形填充是然后用作" ctx.fillect(0,0,canvas.width,canvas.height)"。可以呈现坐标(0,0,8192,8192)的区域画布的右侧和底部100像素边框。

似乎我的大小可以达到两倍。也许这仅适用于IE9。

HTML帆布元素的最大面积,宽度和高度取决于可用的浏览器,操作系统和硬件。不幸的是,浏览器没有提供确定其局限性的方法,也没有在创建无法使用的画布后提供任何形式的反馈。

可以检测浏览器的画布限制,但不幸的是不使用本机API。请参阅我的答案,最大尺寸为A< canvas>元素线程以获取详细信息。

canvas规范状态"该元素可以通过样式表任意大小",因此基于此元素以及您从链接共享的信息,IE必须实现其最大尺寸。这似乎有用,但没有提供任何来源来备份显示的数字(最喜欢的答案)。

最新更新