Основы современных компьютерных технологий


Работа с цветом


В видеобуфере (видеопамяти) для хранения информации о цвете пиксела отводится фиксированное количество битов памяти. Однако практически любой современный видеоадаптер способен отобразить значительно большее количество цветов, чем это определяется количеством битов, отводимых в видеобуфере для одного пиксела. Для использования этой возможности вводится понятие палитры. Палитра - это массив, в котором каждому возможному значению пиксела сопоставляется значение цвета, выводимое на экран. Размер палитры и ее организация зависят от типа используемого видеоадаптера.

При использовании видеокарты EGA/VGA для установки цвета пиксела используется 6 битов. Для формирования цвета используется система RrGgBb, где RGB - красный, зеленый и голубой цвета нормальной яркости, a rgb - те же цвета, но яркость их в два раза меньше. Для EGA/VGA-карт драйвер EGAVGA.BGI устанавливает 54 цвета. В табл. 27.5 приведены 16 основных цветов.

До того момента, пока цвет не определен, для вывода используется цвет, имеющий максимальный номер палитры и фон, устанавливаемый по минимальному номеру. Для EGA- и VGA-адаптеров в качестве фона может быть задано любое целое число в диапазоне 0-63.

Любой цвет для создания фигур и вывода текста может быть установлен с помощью процедуры SetColor(Color: word).

Фон задается процедурой SetBkColor(Color: word).

385

Таблица 27.5

Цвета видеокарты EGA/VGA

КОНСТАНТА ЗНАЧЕНИЕ код ЦВЕТ
EGABIack 0 000000 Черный
EGABlue 1 000001 Синий
EGAGreen 2 000010 Зеленый
EGACyan 3 000011 Сине-зеленый
EGARed 4 000100 Красный
EGAMagenta 5 000101 Красно-синий
EGABrown 6 000110 Коричневый
EGALightGray 7 000111 Светло-серый
EGADarkGray 56 111000 Темно-серый
EGALightBlue 57 111001 Ярко-синий
EGALightGreen 58 111010 Ярко-зеленый
EGALightCyan 59 111011 Яркий сине-зеленый
EGALightRed 60 111100 Ярко-красный
EGALightMagenta 61 111101 Яркий красно-синий
EGAYellow 62 111110 Желтый
EGAWhite 63 111111 Белый
<


Начало  Назад  Вперед