Uint8ClampedList.view 构造函数
- ByteBuffer buffer, [
- int offsetInBytes = 0,
- int? length
创建一个指定字节 buffer
中区域的 Uint8ClampedList 视图。
Uint8List 的更改将反映在字节缓冲区中,反之亦然。如果未指定区域的 offsetInBytes
索引,则默认为 0(字节缓冲区的第一个字节)。如果没有提供长度,视图将扩展到字节缓冲区的末尾。
offsetInBytes
和 length
必须为非负数,并且 offsetInBytes
+ (length
* bytesPerElement) 必须小于或等于 buffer
的长度。
注意,当从一个 TypedData 列表或字节数据创建视图时,该列表或字节数据本身可能是一个具有大于零的 TypedData.offsetInBytes 的大缓冲区的视图。仅通过执行 Uint8ClampedList.view(other.buffer, 0, count)
可能不会指向你想要指向的字节。相反,你可能需要执行
Uint8ClampedList.view(other.buffer, other.offsetInBytes, count)
或者,使用 Uint8ClampedList.sublistView,这包括此计算
Uint8ClampedList.sublistView(other, 0, count);
(第三个参数是结束索引而不是长度,所以如果你从大于零的位置开始,你不需要相应地减少计数).
实现
factory Uint8ClampedList.view(ByteBuffer buffer,
[int offsetInBytes = 0, int? length]) {
return buffer.asUint8ClampedList(offsetInBytes, length);
}