5

我目前正在玩 Dart,尤其是dart:typed_data。我偶然发现了一门课,我不知道它的目的/专业是什么。我说的是Uint8ClampedList与文档中的Uint8List的区别在于语句

索引存储将值限制在 0..0xFF 范围内。

那句话实际上是什么意思?为什么会有这个类?我真的很好奇。

4

1 回答 1

7

“钳位”意味着当存储到Uint8ClampedList. 0..0xff 范围内的任何值都可以存储到列表中而无需更改。

这与其他类型列表不同,其他类型列表的值只是截断为低 8 位(或 16 或 32 位)。

钳位列表(和名称本身)反映了JavaScript 的Uint8ClampedArray

我见过的钳位的一种用法是用于 RGB(A) 彩色图像,其中真正过饱和的颜色(例如,R 值 > 255)将被限制在最大值,而不是环绕并变暗。它允许您对值进行一些转换,而不必关心处理溢出。请参阅Uint8ClampedArray 规范- 它被引入以具有与现有画布类型的行为匹配的数组类型。

于 2014-05-31T00:05:38.147 回答