- •Тема лекции: «Графический режим среды Turbo Pascal»
- •1. Краткие сведения о графическом режиме
- •Характеристики наиболее распространенных адаптеров
- •2. Подпрограммы для переключения между текстовым и графическим режимами
- •Function GraphErrorMsg(Code : Integer) : String;
- •InitGraph(Driver,Mode,’’);
- •Function GetGraphMode : Integer;
- •Procedure SetGraphMode (Mode : Integer);
- •InitGraph(Driver,Mode,’’);
- •3. Работа с координатами, точками и линиями
- •Function GetMaxX : word;
- •Procedure Rectangle (x1, y1, x2, y2 : Integer);
- •SetTextJustify (Horizontal, Vertical : Word);
- •6. Перевод мировых координат в графические
Тема лекции: «Графический режим среды Turbo Pascal»
1. Краткие сведения о графическом режиме
В состав Турбо Паскаля включена мощная библиотека для работы с графикой Graph. Библиотека содержит процедуры и функции, которые дают возможность программисту управлять графическим экраном.
При запуске программы экран находится в текстовом режиме. Если возникает необходимость работать с графическими объектами, то необходимо перевести экран в графический режим работы. После работы в графическом режиме необходимо перевести экран в текстовый режим.
Для настройки графического режима необходимо связать экран с конкретным адаптером. Это достигается за счет подключения нужного графического драйвера.
Драйвер – это специальная программа, которая осуществляет управление определенными техническими средствами компьютера.
Графический драйвер управляет дисплейным адаптером в графическом режиме. В комплекте программ фирмы Borland содержаться графические драйвера в виде файлов с расширением bgi.
В графическом режиме экран дисплея рассматривается как совокупность близко расположенных точек – пикселей, светимостью которых можно управлять.
Графические возможности конкретного адаптера определяются:
разрешением экрана – общим количеством пикселей;
количеством цветов (оттенков), которыми может светиться любой из них;
количеством графических страниц (область оперативной памяти, используемая для создания карты экрана, которая содержит информацию о светимости (цвете) каждого пиксела).
Характеристики наиболее распространенных адаптеров
Название |
Разрешение |
Количество цветов |
Количество страниц |
Комментарий |
CGA |
320 х 200 640 х 200 |
4 2 |
1 |
Цветной ГА |
EGA |
640 х 200 640 х 350 |
16 16 |
4 1 |
Усиленный ГА Дублирует CGA |
MCGA |
640 х 480 |
2 |
1 |
Многоцветный ГА |
VGA |
640 х 480 |
16 |
1 |
Графический видеомассив |
SVGA |
800 х 600 |
256 |
1 |
Супер VGA. Отсутствует в библиотекеgraph |
HGC |
720 х 348 |
2 |
|
ГА фирмы Hercules |
Например, для работы с адаптерами типа EGA, VGA используется драйвер EGAVGA.BGI.
2. Подпрограммы для переключения между текстовым и графическим режимами
Процедура InitGraph предназначена для инициализации графического режима работы адаптера.
Procedure InitGraph (var Driver, Mode : Integer; Path : String);
Driver – параметр определяет тип графического драйвера;
Mode – параметр задает режим работы графического адаптера;
Path – имя файла драйвера или путь к директории, где расположен файл драйвера.
Если Path=’’, тогда файл драйвера должен находиться в текущей директории программы.
Эта процедура загружает драйвер в оперативную память и переводит адаптер в графический режим работы. Тип драйвера должен соответствовать типу графического адаптера.
Для указания драйвера в графической библиотеке определены константы CGA, EGA, VGA, Detect (режим автоопределения типа адаптера).
Большинство адаптеров могут работать в различных режимах.
Например, для адаптера VGA предусмотрены такие режимы работы:
VGALo – 640 x 200 |
VGAMed – 640 x 350 |
VGAHi – 640 x 480 |
Например,
Uses Graph;
Var
Driver, Mode : Integer;
Begin
Driver := VGA;
Mode := VGAHi;
InitGraph(Driver,Mode,’C:\Lang\BP\BGI’);
…
End.
Если тип адаптера не известен или программа рассчитана на работу с любым адаптером, тогда используется следующее обращение к процедуре с автоматическим определением типа драйвера:
Uses Graph;
Var
Driver, Mode : Integer;
Begin
Driver := Detect;
InitGraph(Driver,Mode,’C:\Lang\BP\BGI’);
…
End.
После такого обращения устанавливается графический режим, а при выходе из процедуры параметры Driver и Mode будут содержать значения, которые определяют тип драйвера и режим его работы. При этом для адаптеров с возможностью работы в нескольких режимах выбирается режим с максимальным кодом.
Для определения результата инициализации графического режима необходимо использовать функцию GraphResult. Функция возвращает целое число, в котором закодирован результат последнего обращения к графическим процедурам. Если ошибка не обнаружена, то функция возвращает 0 (grOK=0), в противном случае – код ошибки.
Функция GraphErrorMsg возвращает текстовое сообщение, которое соответствует указанному коду ошибки: