坦率地说,我制作了两个画布,其中填充了JSFiddle徽标的一部分。问题是,每当我想使用getImageData().data
获取每个像素的颜色时,它都会返回一个空数组,这意味着该像素是透明的,这是不正确的。问题代码:
for (i = 0; i < h; i+=scale)
for (j = 0; j < w; j+=scale) {
rgba1 = sctx.getImageData(i,j,1,1).data;
rgba2 = sctx2.getImageData(i,j,1,1).data;
// logging
log('x:'+i/5+' | y:'+j/scale+' | '+rgba1);
log('x:'+i/scale+' | y:'+j/scale+' | '+rgba2,true);
}
打印结果:
代码有什么问题? Fiddle here
最佳答案
仔细看看您的输出。
您的画布具有横向方向,坐标表示纵向模式。
for (i = 0; i < w; i+=scale)
for (j = 0; j < h; j+=scale) {
关于javascript - 用fillRect()填充 Canvas 并获取每个像素的颜色将返回带有4个零的数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34969417/