Mat*_*key -1 javascript arrays for-loop canvas
我试图循环遍历canvas方法返回的数组:getImageData()返回绘制到HTML画布的图像的像素颜色值.但我杀了我的浏览器,返回的数组对于平均大小的图像当然很大,我使用错误的方法还是循环通过如此大的数组只是不可能?
for (var i = 0; i < ImageData.length; i + 3) {
if (ImageData[i] > 210 && ImageData[i + 1] < 200 && ImageData[i + 2] > 60) {
var Suspect = {
Red: ImageData[i],
Green: ImageData[i + 2],
Blue: ImageData[i + 3]
}
Suspects.push(Suspect);
}
}
Run Code Online (Sandbox Code Playgroud)
你永远不会i在声明中递增i+3.您需要将结果分配回i:i = i+3或i += 3.
另请注意,ImageData.data通常步宽为4,而不是3; 数组中的每四个值是像素的alpha通道(不透明度).