85

Uint8ArrayJavaScript和JavaScript有什么区别Uint8ClampedArray?我知道它Uint8ClampedArray与画布一起用于像素操作。为什么会这样,有什么好处?

4

1 回答 1

108

查看Uint8ClampedArrayUint8Array的示例,看起来区别在于分配时如何处理值。

如果您尝试将一个元素设置为钳位数组中的任何值 range 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 回答