当我调用以下命令时,在 Chrome 浏览器 v. 24 上
brush(x,y,w,h)
控制台报告一个
DOM异常错误9
在这一行:
var imageData = cvs.createImageData(w,h);
此外,setPixel()
应该按照说明更改 的r,g,b,a
值,imageData.data
但在我的浏览器上它看起来是透明的。创建一个透明的brush(...)
w * h 正方形,这不是我想要的。
function setPixel(imageData, x, y, r, g, b, a) {
index = (x + y * imageData.width) * 4;
imageData.data[index+0] = r;
imageData.data[index+1] = g;
imageData.data[index+2] = b;
imageData.data[index+3] = a;
}
function brush(x, y, w, h) {
var canvas = document.getElementById('maincanvas');
var cvs = canvas.getContext('2d');
var imageData = cvs.createImageData(w,h);
var r = 0;
var g = 0;
var b = 0;
setPixel(imageData, x, y , r, g, b, 255);
cvs.putImageData(imageData, x, y);
}
我的问题:除了异常之外,还有其他原因导致输出透明createImageData
吗?