キャンバスから getImageData() を実行すると、クランプされた配列である Data サブオブジェクトを含む ImageData オブジェクトが取得されます。取得したすべてのピクセルが白かどうか (透明でないかどうか) を確認したい。つまり、データ オブジェクトのすべての値が 255 に等しいかどうかを確認したいということです。明らかなコードは次のようになります。
if (data.every(function(value) {return value == 255})) {
//Do something
}
ただし、次の最小限のコードが示すように、何らかの理由でクランプされた配列では機能しません。
var DATA = new Uint8ClampedArray(3);
//var DATA = new Array
DATA[0] = 255
DATA[1] = 255
DATA[2] = 255
DATA[3] = 255
alert(DATA.every(function(value) {return value == 255}))
解決策はありますか?ありがとう!