IE9的HTML5 Canvas getImageData()函数存在问题
IE9 has problems with HTML5 Canvas getImageData() function
由于某些原因,下面的代码将无法工作。它停在有getImageData
的线路上。IE9抛出此错误:SCRIPT5022: DOM Exception: INDEX_SIZE_ERR (1)
。有解决办法吗?然而,它在Chrome和FF中都有效。
//Select our canvas and context
var canvas = document.getElementById("imageCanvas");
var context = canvas.getContext('2d');
//Select the image from the DOM
var selectedImage = document.getElementById("image");
//Draw the image to the canvas then read in the data
context.drawImage(selectedImage, 0, 0);
var originalLakeImageData = context.getImageData(0,0, width, height);
//Image data is now stored in an array in the form
//originalLakeImageData.data = [r1, g1, b1, a1, r2, g2, b2, a2....]
注意:以上代码不是我的代码。消息来源在这里。然而,我的问题与这个例子完全相同。要查看错误IE9,请尝试此链接
刚在搜索另一个问题时遇到您的问题。您遇到的问题与CSS中将oldImage
设置为display: none
有关。这将导致width
和height
属性为零。
您应该尝试使用visibility: hidden
。CSS display:none
意味着根本不应该显示元素,但visibility:hidden
意味着元素在那里,但不可见。这是一个微小的差异,但应该会让你的例子发挥作用。
你也可以使用绝对定位和z索引来"隐藏"你想要看到的图像后面的其他图像。
相关文章:
- IE9的HTML5 Canvas getImageData()函数存在问题
- 如何添加函数中存在的所有参数
- 如何将一个函数附加到一个不存在的元素上
- 当提供函数名称时,检查函数是否存在于同一作用域中
- 运行时不存在Javascript函数
- 如何使用函数来确定 Javascript 数组中是否存在值
- 在运行Javascript/jQuery中的函数之前,检查元素是否存在是否更具性能
- TypeError:$(..).higharts不是函数-现有解决方案不起作用-Yeoman生成器存在问题
- 检查D3.js中的函数中是否存在URL
- 在Require.js中,如果Require()是一个函数,那么Require.config()是如何存在的
- javascript className函数存在问题
- this.function不是函数错误,但函数存在
- jquery中的click函数存在问题
- 与变量值同名的函数存在,但是接收到typeError,为什么?
- create_row()函数存在问题
- JavaScript:重构对象中的方法和函数存在问题
- 为什么getUTCSeconds和getUTCMilliseconds函数存在?
- 匿名函数和命名函数存在疑问
- 未捕获的类型错误:不是函数,但函数存在
- 当有一个警报函数存在时,回调会被触发,如果没有警报,它不会被触发