Что означают части четырехчастного шестнадцатеричного цвета?

Я видел цветовые спецификации, такие как

0x008080FF

Что означают эти части? Я знаю только шестнадцатеричные цветовые коды для значений RGB (может быть, и RGBA, но, похоже, это не так).

Пример можно увидеть здесь. Кажется, что 0x00FFFFFF означает голубой. Почему это так? Какую цветовую модель они используют?


person radlan    schedule 20.06.2013    source источник


Ответы (2)


Итак, это представление восходит к давним временам и мало используется в более распространенных языках программирования.

Итак, давайте рассмотрим это: 0xFF447799

  • 0x: это указывает на то, что это представляет собой шестнадцатеричное значение (во многих случаях оно заменяется символом #).
  • следующие 2 цифры (FF): управляют непрозрачностью, в данном случае 100% (или FF)
  • следующие 2 цифры (44): представляют RR, количество красного цвета
  • следующие 2 цифры (77): представляют GG, количество зеленого цвета
  • следующие 2 цифры (99): представляют собой BB, количество синего цвета

Во многих современных языках вы просто увидите варианты этого представления RGB или ARGB. Таким образом, современные технологии справляются с шестнадцатеричными значениями без необходимости сообщать им 0x.

По-видимому, это представление недопустимо в HTML и CSS.

См. также как преобразовать значение RGB в шестнадцатеричное значение с альфа-каналом (0xFFFFFFFF)?

person Terry    schedule 20.06.2013
comment
Я также рассматривал ARGB (хотя я никогда не видел этого). Но я озадачен вышеупомянутым определением 0x00FFFFFF как Cyan. Также я где-то видел, что 0x00FF8000 должен быть темно-синим. Это не подходит для ARGB. - person radlan; 20.06.2013
comment
Я думаю, это может зависеть от среды, в которой вы работаете. 00FFFF действительно голубой, поэтому в этом случае последние 2 цифры означают, что они указывают, какая это непрозрачность. Проверьте этот пост msdn, в этом случае непрозрачность — это первые 2 цифры, поэтому она действительно различается в зависимости от среды: msdn.microsoft.com/en-us/library/cc543931.aspx - person Terry; 20.06.2013

Я думаю, что это значение ARGB. Это означает, что первый байт является альфа-каналом.

Например, 00 полностью прозрачен.

person Tobias    schedule 20.06.2013