来自太阳的风
2017-01-20 16:35
我给imgdata的值改变了值,全部变成0了,按理说应该显示为黑色,但是为什么绘制出来还是我当初get的那个图像呢?
for(var i=0;i<canvasb.width*canvasb.height;i++)
{
pixelData[4*i+0]=0;
pixelData[4*i+1]=0;
pixelData[4*i+2]=0;
}
contextb.putImageData(imgdata,0,0,0,0,800,800);
首先你封装的函数 filter应该在上面调用一下 写了没调用是无效,
其次你封装的函数也有问题,
for(var i=0;i<canvasb.width*canvasb.height;i++)
{
pixelData[4*i+0]=0;
pixelData[4*i+1]=0;
pixelData[4*i+2]=0;
}
应该是
for(var i=0;i<canvasa.width;i++){
for (var j=0;j<canvasa.height;j++) {
var p=i*canvassa.width+j;
pixelData[4*p+0]=0;
pixelData[4*p+1]=0;
pixelData[4*p+2]=0;
}
}
ctb.putImageData(imgD,0,0,0,0,canvasb.width,canvasb.height);
Canvas玩转图像处理
60329 学习 · 124 问题
相似问题