Модуль GRAPH. Инициализация графического режима

Страницы работы

9 страниц (Word-файл)

Содержание работы

Лекция №16.

МОДУЛЬ GRAPH

      Модуль GRAPH содержит большой  набор процедур (56) и функций (23), а так же констант, типов, и переменных, которые используются для работы с графическими изображениями.

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

       Для работы с графикой ПК должен содержать аппаратную (видеоадаптер) и программную поддержку (графический драйвер).

       Видеоадаптер представляет плату, на которой расположены: буферная ви­деопамять (от 8 Мгб и выше) содержимое которой представляет карту экрана, контролер (схемы управления) ЭЛТ, генератор символов и др. схемы.

      Существует несколько типов адаптеров, каждый из которых может работать в режиме с различной разрешающей способностью: 640х480; 800х600; 1024х768; 1200х1024; 1600х1200.

       Наиболее широко используются видеоадаптеры VGA и SVGA (Super Video Graphics Array).

     Управление работой видеоадаптера осуществляется специальными систем­ными программами, которые называются драйверами. Драйверы располагаются на диске в каталоге BGI и имеют расширение, имеют расширение  .bgi  (Borland Graphics Interface). Например: egavga.bgi.

Инициализация графического режима

    После включения ПК он автоматически переходит в текстовый режим, для перехода в графический режим он должен быть инициализирован. Фрагмент программы инициализации имеет вид:

Uses Crt, Graph;

Var   Gd, Gm, ErrCode     :integer;

Begin

    Gd:=Detect;                                            {Опр. типа драйвера}

    InitGraph(Gd,Gm,'D :\TP\BGI');        {Путь к драйверу }

            ErrCode:=GraphResult;

    If ErrCode<>grOK then

      Begin

           Writeln(‘Ошибка инициализации’,GraphErroMsg(ErroeCode));

            Halt(1);                                               {Режим не удалось открыть }

        End;

***

End.

Процедуры и функции

инициализация графического режима

    Процедура инициализация:

     InitGraph(<драйвер>,< режим>,< путь к драйверу>);

    <драйвер> - переменная целого типа (Gd);

    < режим> - режим работы драйвера, переменная целого типа (Gm);

    < путь к драйверу> - переменная строкового типа (S).

     В модуле каждому типу драйвера и режиму работы предопределены  константы.  Например: VGA=9; VGAHi=2.

     Если тип драйвера не известен или программа рассчитана на работу с любым адаптером, то можно использовать режим авто определения типа с помощью константы Detect (код 0).

Функция GraphResult:integer – возвращает код ошибки при выполнении графической операции.

Функция GraphErroMsg(<код>) - возвращает текст соответствующий коду ошибки.

       Значения ошибок предопределены   константами

     Const

           gr_OK                         = 0;    {Нет ошибок}

           grInitGraph               = -1;    {Графика не инициализирована}

           grNotDetected           = -2;    {Графическое устройство не обнаружено}

            grFileNotFound        = -3;    {Файл драйвера не найден}

               . . .

            grIvalidDeviceNum   = -15; {Не правильный номер устройства}

Возврат в текстовый режим

     Процедура ClosetGraph – восстанавливает текстовый режим и выгружает драйвер из памяти.

     Процедура RestoreCrtMode – кратковременный выход в текстовый режим.

     Процедура SetGraphMode – устанавливает  новый графический режим.

Координаты, окна, цвет 

     Функции:    GetMaxX - возвращает максимальную координату X.

                         GetMaxY - возвращает максимальную координату Y.

   GetX - возвращает текущую координату X.

   GetX - возвращает текущую координату X.

    Процедуры: SetViewPort(X1,Y1, X2, Y2, <отсечка>) – устанавливает графическое окно.Где <отсечка>- логическая переменная если она равна false то границы игнорируются в противном случае изображения за пределами границы отсекается.

ClearDevice – очистка экрана;

ClearViewPort– очистка окна;

SetColor – устанавливает цвет рисования;

SetBkColor - устанавливает цвет фона;

Точки, Линии 

     Процедуры: PutPixel(X, Y, <цвет>) – определяет координату и цвет точки;

                          Line(X1, Y1, X2, Y2) – рисует линию между заданными коор- 

                                                                   динатами;

Похожие материалы

Информация о работе