Управление экраном в графическом режиме

В графическом режиме программист получает возможность управлять каждой точкой (пикселем) экрана. Координаты точки определяются относительно верхнего левого угла. Каждая точка экрана при этом может высвечиваться одним из доступных цветов. Информация о цвете точки хранится в видеобуфере.

Количество цветов зависит от количества бит, отведенных в видеобуфере под одну точку. Рассмотрим основные варианты.

1. «1 точка - 1 бит» - монохромный режим: каждая точка высвечивается либо основным цветом, если в видеобуфере для точки записана 1, либо цветом фона, если в видеобуфере записан 0.

2. «1 точка - 2 бита» - режим с двумя трехцветными палитрами:

Палитра 0: Палитра1:

01 - зеленый; 01 - светло-голубой;

10 - красный; 10 - сиреневый;

11 - коричневый. 11 - белый.

Если в буфере записана комбинация 00, то точка высвечивается цветом фона.

3. «1 точка - 4 бита» - режим, использующий 16-цветную палитру. В этом режиме в отличие от предыдущих в видеобуфер заносится не цвет точки, а номер регистра палитры, в котором записан нужный цвет (рис. 8.5).

Для записи цвета используется 6 бит по схеме RGBrgb, причем первые три бита кодируют 2/3 яркости цвета, а вторые три бита - оставшуюся 1/3 яркости.

Так, максимально яркий красный цвет будет кодироваться двумя единицами в первом и четвертом битах:

Управление экраном в графическом режиме - student2.ru

Таким образом, каждый цвет имеет четыре градации яркости: 0, 1/3, 2/3, 1, что позволяет кодировать 43=64 варианта цвета. На экране в этом режиме одновременно может присутствовать не более 16 цветов, так как имеется всего 16 регистров палитры.

Примечание. То, что цвет точки определяется кодом, записанным в регистре палитры, позволяет получать интересный эффект: если во время работы программы изменить цвет в одном из регистров палитры, то все точки, связанные с этим регистром палитры, изменят цвет.

Так можно реализовывать исчезновение и появление некоторого монохромного изображения.

Управление экраном в графическом режиме - student2.ru

4. «1 точка - 8 бит» - режим, использующий палитру на 256 цветов. В этом режиме используется та же идея записи кода цвета не в видеобуфер, а в регистры палитры, что и в предыдущем режиме, но используется 256 регистров палитры, в которых под запись цвета используется 18 бит. Из этих 18 бит под кодирование яркости каждого цвета используется 6 бит, обеспечивая 64 градации яркости каждого цвета. В этом режиме максимальная яркость красного цвета будет кодироваться так:

Управление экраном в графическом режиме - student2.ru

Таким образом, на экране можно одновременно видеть 256 цветов из 643=262144 возможных.

В настоящее время в основном используются режимы, в которых цвет кодируется еще большим количеством бит. К сожалению, работа в этих режимах и даже в режиме 256 цветов не обеспечивается стандартными средствами Borland Pascal 7.0.

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

Последнее время из имеющихся драйверов практически используется только драйвер VGA, который обеспечивает несколько различных режимов работы. Этот драйвер находится в файле EGAVGA.BGI и ему в модуле Graph соответствует поименованная константа VGA = 9. Режимы работы этого драйвера и соответствующие константы Borland Pascal приведены в табл. 8.3.

Набор программных ресурсов, используемых для управления экраном в графическом режиме, содержится в модуле Graph.

Таблица 8.3

Управление экраном в графическом режиме - student2.ru

Наши рекомендации