Какво означават частите на шестнадесетичен цвят с четири части?

Виждал съм цветови спецификации като

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