Здавалка
Главная | Обратная связь

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



Любая программа, предназначенная для работы с графикой, обязательно должна содержать блок вызовов процедур инициализации графического режима и обращение к процедуре его завершения. В таком блоке инициализируется графический режим, проверяется правильность инициализации и, если все операции прошли успешно, разрешается дальнейшая работа программы. Процедура инициализации объявлена следующим образом:

InitGraph (VAR GraphDriver : INTEGER; {тип адаптера}

VAR GraphMode : INTEGER; {режим графики}

VAR DriverPath : STRING); {путь к драйверу}

Переменные GraphDriver и GraphMode задают драйвер и режим в соответствии со значениями, приведенными в предыдущем пункте. Например:

GraphDriver:=EGA; GraphMode:=EGAHi;

В качестве значений каждого из этих параметров можно задавать как имя соответствующей зарезервированной константы, так и ее значение; оба параметра можно устанавливать до вызова процедуры InitGraph.

Если параметр GraphDriver содержит номер конкретного адаптера, то и второй параметр, GraphMode, должен иметь значение режима, допустимого для этого адаптера. Когда GraphDriver присваивается значение константы Detect, система переходит в режим автоопределения. Если возможно переключение системы в графический режим, то инициализируется соответствующий BGI-драйвер и включается режим с максимальным разрешением для данного типа видеоадаптера. В GraphDriver и GraphMode при этом процедура возвратит автоматически определенные значения этих параметров или код ошибки.

Такая установка параметра GraphDriver рекомендуется в тех случаях, когда программа должна работать на разных компьютерах с различными видеоадаптерами. Но этот метод имеет один существенный недостаток: поскольку во время выполнения программы все драйверы одновременно должны находиться в памяти или на диске, для больших программ это может привести к уменьшению скорости работы программы.

Все остальные графические установки (положение текущего указателя, палитра, цвет, параметры графического окна и т.д.) при инициализации принимаются по умолчанию.

В параметре DriverPath указывается путь к каталогу, который содержит необходимые файлы драйверов. Если драйверы находятся в текущем каталоге, этот параметр должен иметь значение ‘ ‘ (пустая строка).


 

Продемонстрируем применение процедуры InitGraph на следующем примере:

USES Graph;

VAR

GrDriver,GrMode:INTEGER; {определяют драйвер и режим}

BEGIN

GrDriver:=Detect; {режим автоопределения}

InitGraph(GrDriver,GrMode,'');

{предполагается, что драйвер в текущем каталоге}

IF GraphResult < > 0 THEN {ошибка инициализации}

BEGIN

WriteLn('Ошибка инициализации графики!') ;

HALT(l);

END;

SetBkColor(LightBlue); {установлен цвет фона}

ReadLn;

CloseGraph; {завершение графического режима}

END.

 

В примере, кромеInitGraph, использован ряд других процедур и функций модуля Graph, которые будут рассмотрены ниже.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.