1. ホーム
  2. javascript

[解決済み] Uint8ArrayとUint8ClampedArrayの相違点

2023-05-26 02:22:27

疑問点

とはどのような違いがあるのでしょうか? Uint8ArrayUint8ClampedArray をJavaScriptで使用することはできますか? 私は、以下のことを理解しています。 Uint8ClampedArray はピクセル操作のために canvas で使用されると理解しています。それはなぜですか、そしてどんな利点があるのですか?

どのように解決するのですか?

の例を見てみると Uint8ClampedArray Uint8Array というように、値を代入する際の扱いに違いがあるようです。

クランプされた配列の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