Колірні моделі використовуються "у діалоговому вікні" Колір "

Власні кольори розширення діалогового вікна кольору дозволяє вказати колір за допомогою значення RGB чи HSL. Однак, структура CHOOSECOLOR використовує лише значення RGB повідомити кольорів, створених або обраних користувачем.

Колірна модель RGB

Модель RGB використовується для позначення кольорів для відображення та інших пристроїв, які випромінюють світло. Припустимі значення червоного, зеленого та синього діапазоні від 0 до 255 з 0, вказавши мінімальну інтенсивності до 255, із зазначенням максимальної інтенсивності. Нижче показано, як основних кольорів: червоного, зеленого та синього можуть бути об'єднані для отримання чотири додаткових кольорів. (На пристрої відображення, чорний колір, коли значення червоного, зеленого та синього дорівнюють 0. Відображення-технології чорний є відсутність всіх кольорів.)

Нижче наведено вісім кольорів і свого пов'язаних значення RGB.

Колір Значення RGB
Червоний 255, 0, 0
Зелений 0, 255, 0
Синій 0, 0, 255
Блакитний 0, 255, 255
Пурпурний 255, 0, 255
Жовтий 255, 255, 0
Білий 255, 255, 255
Чорний 0, 0, 0

Система зберігає внутрішній кольори як 32-бітні значення RGB, що такі форма шістнадцяткове:

0x00bbggrr 

 

Низька порядку байт містить значення для відносна інтенсивність червоний; Другий байт містить значення для зеленого; і третій байт містить значення для синього. Вищого порядку байт повинні бути нульовим.

Ви можете використовувати в RGB макрос отримати RGB-значення на основі вказаного інтенсивності для червоний, зелений та синій компоненти. Використання на GetRValue, GetBValue, і GetGValue макроси витягти окремі кольори в RGB, з колірні значення.

HSL колірної моделі

Діалоговому вікні Колір містить елементи керування для визначення HSL значень. Нижче показано спектру елементом "Колір" і "свічення" слайд контролю, які відображаються в діалоговому вікні " Колір ". На рисунку показано також діапазони значень, користувач може вказати з цих елементів керування.

У діалоговому вікні Колір , насиченість та яскравість значення має бути в діапазоні від 0 до 240, і значення має бути в діапазоні від 0 до 239.

Перетворення значення HSL на значення RGB

У діалоговому вікні порядку, передбаченому в COMDLG32.Бібліотека DLL для діалоговому вікні Колір містить код, який перетворює значення HSL на значення RGB. Нижче наведено декілька кольорів та пов'язані HSL і RGB значення.

Колір HSL значення Значення RGB
Червоний (0, 240, 120) (255, 0, 0)
Жовтий (40, 240, 120) (255, 255, 0)
Зелений (80, 240, 120) (0, 255, 0)
Блакитний (120, 240, 120) (0, 255, 255)
Синій (160, 240, 120) (0, 0, 255)
Пурпурний (200, 240, 120) (255, 0 та 255)
Білий (0, 0, 240) (255, 255, 255)
Чорний (0, 0, 0) (0, 0, 0)