Quelle est la différence entre Uint8Array
et Uint8ClampedArray
en JavaScript? Je comprends que Uint8ClampedArray
est utilisé avec canvas pour les manipulations de pixels. Pourquoi cela et quel est l'avantage?
En regardant les exemples pour int8ClampedArray et int8Array , il semble que la différence réside dans la façon dont les valeurs sont traitées lorsqu'elles sont affectées.
Si vous essayez de définir un élément d'un tableau restreint sur une valeur en dehors de la plage 0-255
, Il sera simplement par défaut 0 ou 255 (selon que la valeur est plus petite ou plus grande). Un tableau Uint8Array
Normal ne prend que les 8 premiers bits de la valeur.
Exemples:
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