Шестнадцатеричные цвета в Android иногда составляют 8 цифр. Как? В чем разница между #FFFFFF и # FFFFFF00

82

Я иногда видел в примерах, где раскраска в Android выполняется как # FF191919. Я имею в виду восьмизначное шестнадцатеричное число. Но это должно быть только шестизначное число. Как они связаны? Если я хочу преобразовать шестизначное число в восьмизначное число. Как это сделать? Я имею в виду преобразовать # 424242 в раскраску 8 цифр? Пожалуйста, дайте мне знать подробности. Спасибо за ваше время и помощь.

Винод
источник

Ответы:

105

Дополнительные 2 цифры используются для определения прозрачности цвета или альфа-канала.

Android использует формат ARGB (или AARRGGBB, как вы используете в своем примере)

Дополнительную информацию (для Android) см. В документации по цвету.

Veger
источник
Есть ли хорошая программа, которая покажет вам цвета после ввода всех 8 цифр?
anon58192932
Их много: любое уважающее себя приложение для рисования принимает входной сигнал RGBA и показывает получившийся цвет. Или выполните поиск по запросу «палитра цветов rgb» или «цветовое колесо rgb», чтобы найти веб-сайт, предоставляющий эту услугу. (Примечание: альфа-цифры не представляют особого интереса, поскольку они определяют прозрачность и не влияют на цвет)
Вегер,
1
Сам по себе ответ не проясняет, что это за лишние 2 цифры. первые два? последние два? две цифры где-то посередине?
Abhishek Jain
'дополнительные 2 цифры' предполагают, что они добавлены (последние две), но я обновлю ответ, чтобы сделать это явным и правильным
Вегер,
46

Первые два символа представляют значение альфа (прозрачности), FFкоторое полностью видно. Это известно как aRGB.

Shanethehat
источник
1
так, например, #FF000000это то же самое #000000, что просто сплошной черный?
Бруно Фингер
14

8-значное шестнадцатеричное значение - это цвет ARGB . Такой же, как обычный RGB , но с дополнительным альфа-каналом.

#RRGGBBв RGB то же, что и #00RRGGBBв ARGB. Также посмотрите Color.argb .

Энди
источник
9

8-значный Android HEx называется aRGB. Значения aRGB обычно выражаются с помощью 8 шестнадцатеричных цифр, каждая пара шестнадцатеричных цифр представляет значения альфа, красного, зеленого и синего каналов соответственно. Например, 80FFFF00 представляет 50,2% непрозрачного (без предварительного умножения) желтого цвета. Шестнадцатеричное значение 80, равное 128 в десятичной системе, представляет альфа-значение 50,2%, поскольку 128 составляет примерно 50,2% от максимального значения 255 (шестнадцатеричный FF); чтобы продолжить расшифровку значения 80FFFF00, первый FF представляет максимальное значение, которое может иметь красный цвет; второй FF аналогичен предыдущему, но для зеленого цвета; последний 00 представляет минимальное значение, которое может иметь синий цвет (фактически - нет синего). Следовательно, красный + зеленый дает желтый. В случаях, когда альфа не используется, ее можно сократить до 6 цифр RRGGBB, поэтому было решено поместить альфа в верхние биты.

Терри Миллер
источник
8

8-значный цвет определяется уровнем альпа

позвольте извлечь все, что мы определяем шестнадцатеричный цвет как 6 пар значений rgb 2 цифры на

1-я цифра для красного, 2-я цифра для зеленого и 3-я 2-я цифра для синего сейчас, если вы хотите установить альфа-уровень для этого, тогда он определяет 8-значную цифру как ARGB, поэтому теперь 1-е 2-значное значение было определено для альфа и остальные для RGB

Pratik
источник