Я использую эту функцию в своем проекте, которая обрабатывает преобразование шестнадцатеричной строки в цвет.
Color hexToColor(String hexString, {String alphaChannel = 'FF'}) {
return Color(int.parse(hexString.replaceFirst('#', '0x$alphaChannel')));
}
Идея состоит в том, что теперь вы можете передать этой функции шестнадцатеричную строку, которая выглядит как «#ffffff», в дополнение к этому вы можете пропустить альфа-канал. Альфа-канал работает с непрозрачностью вашего цвета, и вы можете напрямую передать его в Color.
Об альфа-каналах часть FF представляет собой шестнадцатеричное представление 0-100, например:
0 = 00
1 = 03
2 = 05
...
9 = 17
...
10 = 1А
11 = 1С
12 = 1F
...
99 = ФК
100 = FF
Предположим, вы хотите преобразовать # 000000 в цвет и иметь непрозрачность 0,1.
Вы можете просто вызвать эту функцию так:
hexToColor('#000000', alphaChannel: '1A');
И если вы просто назовете это так:
hexToColor('#000000');
Тогда он вернет вам только черный цвет с 1 непрозрачностью. Надеюсь, что это поможет всем, кто интересуется, как работать с непрозрачностью и обработкой цветов чуть дальше.