Тип Uint8ClampedList
Тип Uint8ClampedList - список фиксированной длины
из байтов от 0 до 255. В отличие от
Uint8List, значение вне диапазона не обрезается
по битам, а прижимается к границе: меньше нуля
становится 0, больше 255 становится 255.
Так устроены данные цвета в изображениях.
Каждый элемент занимает 1 байт.
Тип реализует List<int> и объявлен
в библиотеке dart:typed_data.
Синтаксис
Uint8ClampedList(int length)
Uint8ClampedList.fromList(List<int> elements)
Uint8ClampedList.view(ByteBuffer buffer, [int offsetInBytes = 0, int? length])
Пример
Давайте создадим список из готовых чисел и выведем его на экран:
import 'dart:typed_data';
void main()
{
Uint8ClampedList res = Uint8ClampedList.fromList([0, 128, 255]);
print(res);
}
Результат выполнения кода:
[0, 128, 255]
Пример
Давайте создадим список из двух элементов и запишем в них границы допустимого диапазона:
import 'dart:typed_data';
void main()
{
Uint8ClampedList res = Uint8ClampedList(2);
res[0] = 0;
res[1] = 255;
print(res);
}
Результат выполнения кода:
[0, 255]
Пример
Давайте запишем числа за обеими границами.
Они прижмутся к 0 и 255:
import 'dart:typed_data';
void main()
{
Uint8ClampedList res = Uint8ClampedList(3);
res[0] = -10;
res[1] = 100;
res[2] = 300;
print(res);
}
Результат выполнения кода:
[0, 100, 255]