未捕获的错误:INDEX_SIZE_ERR [英] Uncaught Error: INDEX_SIZE_ERR

查看:22
本文介绍了未捕获的错误: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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆