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

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

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

Цветовая модель RGB используется, чтобы обозначить цвета для дисплеев и других устройств, которые излучают свет. Допустимые значения красного, зеленого и синего цвета располагаются в диапазоне от 0 до 255, где 0 указывает на минимум интенсивности, а 255 указывает на максимум интенсивности. Следующая иллюстрация показывает, как основные цвета красный, зеленый, и синий могут быть объединены, чтобы произвести четыре дополнительных цвета. (Для устройств отображения, черный цвет - это результат того, когда значения красного, зеленого и синего цветов установлены в 0. В технологии дисплея, черный цвет - это отсутствие всех цветов).

15_1.gif (2694 b)

Ниже перечислены восемь цветов и их связанные значения системе 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). Иллюстрация также показывает диапазоны значений, которые пользователь может устанавливать с этими средствами управления.

15_2.gif (4823 b)

В диалоговом окне Цвет (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) 

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Владимир Соковиков - 17.03.2002