Win32 API. Библиотека стандартных диалоговых окон
Страница 9. Цветовые модели, используемые диалоговым окном Цвет (Color)


 

Цветовые модели, используемые диалоговым окном Цвет (Color)

Расширение дополнительными цветами диалогового окна Цвет (Color) позволяет пользователю установить цвет, используя значения RGB или HSL. Однако, структура CHOOSECOLOR использует только значения RGB, чтобы сообщать цвета, созданные или выбранные пользователем.

Цветовая модель RGB

Цветовая модель RGB используется, чтобы обозначить цвета для дисплеев и других устройств, которые излучают свет. Допустимые значения красного, зеленого и синего цвета располагаются в диапазоне от 0 до 255, где 0 указывает на минимум интенсивности, а 255 указывает на максимум интенсивности. 

Ниже перечислены восемь цветов и их связанные значения системе RGB.

Цвет Значения RGB
Красный (Red)255, 0, 0
Зеленый (Green)0, 255, 0
Синий (Blue)0, 0, 255
Голубой (Cyan)0, 255, 255
Фиолетовый (Magenta)255, 0, 255
Желтый (Yellow)255, 255, 0
Белый (White)255, 255, 255
Черный (Black)0, 0, 0

Windows сохраняет внутренние цвета как 32-разрядные значения RGB, которые имеют следующую шестнадцатеричную форму:

0x00bbggrr

Младший байт содержит значение для относительной интенсивности красного; второй байт содержит значение для зеленого и третий байт содержит значение для синего цвета. Старший байт должен быть нулевой.

Вы можете использовать RGB макрокоманду, чтобы получить значение RGB, основанное на определяемых интенсивностях для красных, зеленых и синих компонентов. Используйте макрокоманды GetRValue, GetBValue и GetGValue, чтобы извлечь индивидуальные цвета из значений цветов RGB.

Цветовая модель HSL

Диалоговое окно Цвет (Color) предоставляет средства управления для определения значений HSL

В диалоговом окне Цвет (Color), насыщенность и значения яркости должна быть в диапазоне 0 до 240, и значение оттенка должно быть в диапазоне 0 до 239.

Преобразование значений HSL в значения RGB

Процедура диалогового окна, данная в файле COMDLG32.DLL для диалогового окна Цвет (Color) содержит код, который преобразовывает значения HSL в соответствующие значения RGB. Ниже - несколько цветов и их связанные значения HSL и RGB.

Цвет Значения HSLЗначения RGB
Красный (Red)(0, 240, 120)(255, 0, 0)
Зеленый (Green)(40, 240, 120)(255, 255, 0)
Синий (Blue)(80, 240, 120)(0, 255, 0)
Голубой (Cyan)(120, 240, 120)(0, 255, 255)
Фиолетовый (Magenta)(160, 240, 120)(0, 0, 255)
Желтый (Yellow)(200, 240, 120)(255, 0, 255)
Белый (White)(0, 0, 240)(255, 255, 255)
Черный (Black)(0, 0, 0)(0, 0, 0)

 
« Предыдущая статья   Следующая статья »