ARM上IE上的drawImage的IndexSizeError

时间:2015-07-10 17:44:10

标签: javascript windows-runtime html5-canvas

我在WinRT WebView中绘制内容。

同一个调用在x86和x64版本上成功绘制,但在ARM构建中我得到IndexSizeError

有问题的电话来自PDF.js,看起来像是:

  ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight,
                            0, -height, width, height);

检查JS调试器中的值会给出以下值:

imgToPaint.width == 2132
imgToPaint.height == 2527
paintWidth == 2132
paintHeight == 2527
width == 4264
height == 5053
ctx.canvas.width == 1126
ctx.canvas.height == 1467

根据spec,当IndexSizeErrorswshpaintWidth分别为0)时,paintHeight会被抛出,这不是这里的情况。

可能导致这种情况的原因,我可以尝试正确诊断它?

我已经确认参数在x86和x64版本上具有相同的值。

将绘制调用重写为一系列较小的绘制调用会使错误消失,但在x64和x86上正确绘制时,在ARM构建中无法正确绘制图像:

ctx.drawImage(imgToPaint, 0, 0, paintWidth/2, paintHeight/2,
    0, -height, width/2, height/2);
ctx.drawImage(imgToPaint, paintWidth/2, 0, paintWidth/2, paintHeight/2,
    width/2, -height, width/2, height/2);
...

这告诉我,IndexSizeError是因为耗尽图形内存而被抛出的。我怎么能证实这一点?

0 个答案:

没有答案