web-dev-qa-db-ja.com

Uint8ArrayとUint8ClampedArrayの違い

違いは何ですか Uint8ArrayおよびUint8ClampedArray JavaScriptで?という事は承知しています Uint8ClampedArrayは、キャンバスでピクセル操作に使用されます。なぜそれがあり、利点は何ですか?

63
Luka

int8ClampedArrayint8Array の例を見ると、値が割り当てられたときに処理される方法が異なるように見えます。

クランプされた配列の1つの要素を範囲外の値に設定しようとしている場合0-255、デフォルトは0または255です(値が小さいか大きいかによって異なります)。通常のUint8Array配列は、値の最初の8ビットを受け取ります。

例:

var x = new Uint8ClampedArray([17, -45.3]);
console.log(x[0]); // 17
console.log(x[1]); // 0
console.log(x.length); // 2

var x = new Uint8Array([17, -45.3]);
console.log(x[0]); // 17
console.log(x[1]); // 211
console.log(x.length); // 2
77
Felix Kling