85

JavaScriptのUint8Arrayとの違いは何ですか? キャンバスでピクセル操作に使用されるUint8ClampedArrayことを理解しています。Uint8ClampedArrayその理由とメリットは?

4

1 に答える 1

108

Uint8ClampedArrayUint8Arrayの例を見ると、割り当てられたときの値の扱い方に違いがあるように見えます。

範囲外の任意の値にクランプされた配列に 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
于 2014-02-17T03:08:02.310 に答える