为了直截了当,我制作了两幅画布,里面装满了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
答案 0 :(得分:1)
仔细查看您的输出。 您的画布具有横向方向,坐标指示纵向模式。
for (i = 0; i < w; i+=scale)
for (j = 0; j < h; j+=scale) {