未捕获的错误:INDEX_SIZE_ERR [英] Uncaught Error: INDEX_SIZE_ERR
问题描述
我在画布上用下面一行画:
I am drawing on a canvas with the following line:
ctx.drawImage(compositeImage, 0, 0, image.width, image.height, i, j, scaledCompositeImageWidth, scaledCompositeImageHeight);
此代码已在 Safari、Chrome、Firefox(甚至使用 google 的 excanvas 库的 IE)上执行无错误.但是,最近对 Chrome 的更新会引发以下错误:
This code has executed error free on Safari, Chrome, Firefox (and even IE using google's excanvas library). However, a recent update to Chrome now throws the following error:
未捕获的错误:INDEX_SIZE_ERR:DOM 异常 1
这段代码经常将部分或全部绘制的图像放置在画布之外,有人知道这里发生了什么吗?
This code often positions part or all of the drawn image OFF the canvas, anyone got any idea what's going on here?
推荐答案
compositeImage
是否指向有效(完全加载)的图像?
Is compositeImage
pointing at a valid (fully loaded) image?
我已经看到如果您在加载图像之前尝试绘制图像会发生此异常.
I've seen this exception happen if you try to draw the image before it has loaded.
例如
img = new Image();
img.src = '/some/image.png';
ctx.drawImage( img, ..... ); // Throws error
应该是这样的
img = new Image();
img.onload = function() {
ctx.drawImage( img, .... );
};
img.src = '/some/image.png';
确保图片已加载.
这篇关于未捕获的错误:INDEX_SIZE_ERR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!