Системная цветовая палитра
Что такое цветовая палитра ?
Если вы видели художника за работой, вы уже знаете ответ на этот вопрос. Цветовая палитра - это не более чем набор цветов. Художник создает палитру из различных красок, смешивая их. Полученный набор красок используется для рисования.
В GDI встроены средства для работы с 256-цветными палитрами. Если видеоконтроллер способен работать с палитрами, создается одна системная палитра , которая содержит отображаемые на экране цвета. Вы можете думать об этой палитре как о таблице цветов, хранящейся в памяти видеоконтроллера.
Часть системной палитры (20 элементов) зарезервированы для использования операционной системой. В зарезервированных элементах хранятся статические цвета, которые нужны для рисования таких объектов, как рамки окон, полосы просмотра и т.п., а также изображений, рисуемых приложением. Если видеоконтроллер работает в режиме низкого цветового разрешения или приложение не использует цветовые палитры (несмотря на наличие соответствующих возможностей аппаратуры), цветовая гамма приложения ограничена статическими цветами.
Приложения никогда не изменяют статические цвета, записанные в зарезервированных ячейках системной палитры. Содержимое остальных 236 ячеек системной палитры может изменяться в процессе реализации приложениями своих собственных цветовых палитр.
Схематически системная цветовая палитра изображена на рис. 3.1.
Рис. 3.1. Системная цветовая палитра
Ниже мы перечислим все статические цвета , указав для каждого цвета комбинацию соответствующих RGB-компонент (в шестнадцатеричном представлении).
Индекс в системной палитре | R (красный цвет) | G (зеленый цвет) | B (голубой цвет) | Цвет в палитре |
0 | 00 | 00 | 00 | черный |
1 | 80 | 00 | 00 | темно-красный |
2 | 00 | 80 | 00 | темно-зеленый |
3 | 80 | 80 | 00 | темно-желтый |
4 | 00 | 00 | 80 | темно-голубой |
5 | 80 | 00 | 80 | темно-малиновый |
6 | 00 | 80 | 80 | темно-синий |
7 | C0 | C0 | C0 | светло-серый |
8 | С0 | DC | C0 | светло-зеленый |
9 | A6 | CA | F0 | светло-голубой |
246 | FF | FB | F0 | кремовый |
247 | A0 | A0 | A4 | светло-серый |
248 | 80 | 80 | 80 | серый |
249 | FF | 0 | 0 | красный |
250 | 0 | FF | 0 | зеленый |
251 | FF | FF | 0 | желтый |
252 | 0 | 0 | FF | синий |
253 | FF | 0 | FF | малиновый |
254 | 0 | FF | FF | голубой (циан) |
255 | FF | FF | FF | белый |
Странное на первый взгляд расположение статических цветов в системной палитре (десять цветов находятся в начале таблицы, десять - в конце) выбрано для обеспечения правильной работы часто используемой растровой операции "ИСКЛЮЧАЮЩЕЕ ИЛИ".