Javascript createImageData引发DOM异常9,rgb数据不工作

Javascript createImageData引发DOM异常9,rgb数据不工作,javascript,html5-canvas,Javascript,Html5 Canvas,在Chrome浏览器上。24当我打电话给下面的人 刷子(x,y,w,h) 控制台报告一个错误 DOM异常错误9 在这一行: var-imageData=cvs.createImageData(w,h) 另外,setPixel()应该按照说明更改imageData.data的r、g、b、a值,但在我的浏览器上它看起来是透明的。画笔(…)创建了一个透明的w*h正方形,这不是我想要它做的 function setPixel(imageData, x, y, r, g, b, a) { inde

在Chrome浏览器上。24当我打电话给下面的人

刷子(x,y,w,h)

控制台报告一个错误

DOM异常错误9

在这一行:

var-imageData=cvs.createImageData(w,h)

另外,
setPixel()
应该按照说明更改
imageData.data的
r、g、b、a
值,但在我的浏览器上它看起来是透明的。画笔(…)
创建了一个透明的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
的异常之外,还有其他原因导致输出是透明的吗?

尝试将(
console.log()
)参数记录到
createImageData
。当第一个参数为
NaN
无穷大时(可能在其他情况下也是如此),此函数似乎会抛出
不受支持的\u ERR:DOM异常9

下页的引用

“当没有样式规则应用于画布时,画布最初将是完全透明的。”


@VisioN正好相反。字母255表示完全不透明。是的,我的错。你是对的。