我正在尝试使用canvas元素,但高度不能超过16384
像素。如果我尝试使用16385
像素,我会在IE11中获得IndexSizeError
。这在Chrome中运行良好。画布用于PDF生成,我没有时间将生成移动到服务器。
我用Google搜索了一下,根据平台和浏览器,它的大小可能会有所不同。
浏览器是否分配了内存和内存设置来决定这个?
编辑:我找到了一些信息here:
Note The maximum size of the rendered area on a canvas is from 0,0 to 8192 x 8192 pixels, regardless of the size of the canvas. For example, a canvas is created with a width and height of 8292 pixels. A rectangular fill is then applied as "ctx.fillRect (0,0, canvas.width, canvas.height)".Only the area within the coordinates (0, 0, 8192, 8192) can be rendered, leaving a 100 pixel border on the right and bottom of the canvas.
好像我可以有两倍的尺寸。也许这只适用于IE9。
答案 0 :(得分:1)
HTML canvas元素的最大面积,宽度和高度取决于浏览器,操作系统和可用的硬件。不幸的是,浏览器无法提供确定其局限性的方法,也无法在创建无法使用的画布后提供任何形式的反馈。
可以检测浏览器的画布限制,但不幸的是,不使用本机API。有关详细信息,请参见Maximum size of a <canvas> element线程中的答案。
答案 1 :(得分:0)
Canvas Specification表示“元素可以通过样式表任意调整大小”,因此基于此以及您从链接共享的信息,IE必须实现自己的最大大小。 This似乎很有用,但没有提供任何来源来备份显示的数字(最喜欢的答案)。