Процедура InitGraph – инициализация графического режима

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

Стандатные типы модуля graph

Цвета палитры
PaletteType record  
  size:Byte; Количество цветов
  Colors: array [0..MaxColors] of Shortint; end; Используемые цвета
Характеристики линии
LineSettingsType record  
  LineStyle:Word;; Тип линии
  Pattern: Word; Шаблон линии
  Thickness: Word; Толщина линии
  end;  
Характеристики текста
TextSettingsType record  
  Font:Word;; Тип шрифта
  Direction: Word; Направление текста
  CharSize: Word; Размер символа
  Horiz: Word; Горизонтальное выравнивание
  Vert: Word; Вертикальное выравнивание
  end;  
Орнамент и цвет заполнения
FillPatternType record  
  Pattern: Word; Шаблон
  Color:Word;; Цвет заполнения
  end;  
Координаты точки
PointType record  
  X,Y: Integer; Координаты
  end;  
Окно вывода графической информации
ViewPortType record  
  X1,Y1,X2,Y2: Integer; Координаты окна
  Clip: Boolean; Признак усечения
  end;  

Инициирует графический режим работы адаптера. Заголовок процедуры:

Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Здесь Driver - тип графического драйвера;
Mode – переменная, в которую процедура помещает код работы графического адаптера;
Path - имя файла драйвера и, возможно, маршрут его поиска.

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

const

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

CGA=1;

MCGA=2;

EGA=3;

EGA64=4;

EGAMono=5;

IBM8514=6;

HercMono=7;

ATT400=8;

VGA=9;

PC3270=10;

Большинство адаптеров могут работать в различных режимах. Для того чтобы указать адаптеру требуемый режим работы, используется переменная Mode, значением которой в момент обращения к процедуре могут быть такие константы:

const

{ Адаптер CGA: }

CGACO = 0; {Низкое разрешение, палитра0}

CGAC1 = 1; {Низкое разрешение, палитра1}

CGAC2 = 2; {Низкое разрешение, палитра2}

CGAC3 = 3; {Низкое разрешение, палитра3}

CGAHi = 4; {Высокое разрешение}

{Адаптер MCGA:}

MCGACO = 0; {Эмуляция CGACO}

MCGAC1 = 1; {Эмуляция CGAC1}

MCGAC2 = 2; {Эмуляция CGAC2}

MCGAC3 = 3; {Эмуляция CGAC3}

MCGAMed = 4; {Эмуляция CGAHi}

MCGAHi = 5; {640x480}

{Адаптер EGA:}

EGALo = 0; {640x200, 16 цветов}

EGAHi = 1; {640x350, 16 цветов}

EGAMonoHi = 3; {640x350, 2 цвета}

{Адаптеры HGC и HGC+:}

HercMonoHi = 0; {720x348}

{АдаптерАТТ400:}

ATT400CO = 0; {Аналог режима CGACO}

ATT400C1 = 1; (Аналог режима CGAC1}

ATT400C2 = 2; {Аналог режима CGAC2}

ATT400C3 = 3; {Аналог режима CGAC3}

ATT400Med = 4; {Аналог режима CGAHi}

ATT400H1 = 5; {640x400, 2 цвета}

{Адаптер VGA:}

VGALo = 0; {640x200}

VGAMed = 1; {640x350}

VGAHi = 2; {640x480}

PC3270H1 = 0; {Аналог HercMonoHi}

{Адаптер 1ВМ8514}

IBM8514LO =0; {640x480, 256 цветов}

IBM8514H1 = 1; {1024x768, 256 цветов}

Пусть, например, драйвер CGA.BGI находится в каталоге TP\BGI на диске С и устанавливается режим работы 320x200 с палитрой 2. Тогда обращение к процедуре будет таким:

Uses Graph;

var

Driver, Mode: Integer;

begin

Driver:= CGA;{Драйвер}

Mode:= CGAC2;{Режим работы}

InitGraph(Driver, Mode,' С:\TP\BGI');

.......

Если тип адаптера ПК неизвестен или если программа рассчитана на работу с любым адаптером, используется обращение к процедуре с требованием автоматического определения типа драйвера:

Driver:= Detect;

InitGraph(Driver, Mode, 'C:\TP\BGI');

После такого обращения устанавливается графический режим работы экрана, а при выходе из процедуры переменные Driver и Mode содержат целочисленные значения, определяющие тип драйвера и режим его работы. При этом для адаптеров, способных работать в нескольких режимах, выбирается старший режим, т.е. тот, что закодирован максимальной цифрой. Так, при работе с CGA -адаптером обращение к процедуре со значением Driver = Detect вернет в переменной Driver значение 1 (CGA) и в Mode -значение 4 (CGAHi), а такое же обращение к адаптеру VGA вернет Driver = 9 (VGA) и Mode = 2 (VGAHi).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: