Окт 16

Системная палитра

Системная палитра является графическим объектом уровня операционной системы. Ранее уже говорилось о том, что диапазон цветов, которые одновременно воспроизводятся устройством, зависит как от аппаратной палитры, реализуемой видеоадаптером, так и от настроек экрана.
Чтобы посмотреть или изменить настройки экрана, нужно щелкнуть правой кнопкой мыши на свободной части рабочего стола экрана, после чего появится всплывающее меню. В этом меню следует выполнить команду Свойства, что приведет к отображению диалогового окна Свойства: Экран. В окне нужно выбрать вкладку Настройка и найти на ней групповое поле Цветовая палитра. Элемент управления типа C0MB0B0X внутри этого поля позволяет выбирать количество одновременно отображаемых цветов на экране. Если у вас достаточно современный дисплей, то доступными, скорее всего, окажутся следующие установки:
256 цветов;
Hi Color (16 бит);
True Color (24 или 32 бит).
В 256-цветном режиме каждый пиксел представлен в кадровом буфере видеоадаптера одним байтом. Один байт позволяет закодировать до 256 разных цветов, одновременно отображаемых на экране. Точный состав цветов определяется палитрой видеоадаптера, которая предоставляется пользовательским приложениям в виде системной палитры.
тоит обратить внимание на необычное размещение статических цветов. Так, первая группа из десяти цветов располагается в начале таблицы, а вторая группа из десяти цветов — в конце таблицы. Это связано с тем, что наиболее употребительная растровая операция X0R часто используется для инвертирования цветов и последующего их восстановления. Поэтому важно обеспечить инвертирование цвета при помощи инвертирования значения индекса в цветовой таблице. Например, инверсия нулевого значения индекса дает значение 255 (OxFF), при этом черный цвет трансформируется в белый. Позицию 1 занимает темно-красный цвет R6B(0x80, 0x00, 0x00). Если инвертировать индекс, то он переходит в 254 (OxFE), что соответствует голубому цвету. Он не совсем совпадает с цветом, дополняющим темно-красный цвет в цветовом пространстве RGB (R6B(0x7F, OxFF, OxFF)), но все же достаточно близок к нему.
Первые 8 цветов и последние 8 цветов никогда не изменяются, независимо от цветового режима. Реализация цветов с индексами 8,9, 246, 247 зависит от режима. В таблице указаны RGB-значения этих цветов для режима True Color. В 256-цветном режиме RGB-значения этих цветов будут другими.