Графические возможности Turbo Pascal

Содержание

Слайд 2

У компьютерного монитора два режима работы - текстовый и графический. В

У компьютерного монитора два режима работы - текстовый и графический.
В текстовом

режиме минимальным объектом, отображаемым на экране, является алфавитно-цифровой или какой-либо иной символ.

80

25

Экран в
обычных
условиях

Слайд 3

В графическом режиме минимальным объектом, выводом которого может управлять программист, является

В графическом режиме минимальным объектом, выводом которого может управлять программист, является

пиксель – графическая точка.
Пиксель имеет меньшие размеры по сравнению с символом, они определяются разрешением монитора.
Слайд 4

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

Графические координаты задают положение точки на экране дисплея.
В качестве графических

координат используется порядковые номера пикселей.
Слайд 5

Точкой отсчёта является верхний левый угол экрана. Значения х – координаты

Точкой отсчёта является верхний левый угол экрана. Значения х – координаты

отсчитываются слева направо, а у – координаты – сверху вниз.

Х

Y

0,0

Экран в
графическом
режиме

Слайд 6

Для правильного отображения рисунков на экране необходимо учесть различия между декартовой и графической системами координат:

Для правильного отображения рисунков на экране необходимо учесть различия между декартовой

и графической системами координат:
Слайд 7

Графические координаты принимают только целочисленные значения; Графические координаты принимают значения, ограниченные

Графические координаты принимают только целочисленные значения;
Графические координаты принимают значения, ограниченные как

снизу(нулевым значением), так и сверху (значением разрешения);
Графическая координата у отcчитывается сверху вниз.
Слайд 8

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

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

видеоадаптером.
Turbo Pascal обеспечивает работу со следующими видеоадаптерами: CGA, MCGA, EGA, VGA, Hercules, AT&T400, 3270 PC, IBM-8514.
Видеоадаптером управляет специальная программа, которая называется драйвером.
Слайд 9

Драйвер хранится в отдельном файле на диске и содержит как исполняемый

Драйвер хранится в отдельном файле на диске и содержит как исполняемый

код, так и необходимые ему для работы данные.
Файл с драйвером имеет расширение .bgi. Имя файла с драйвером соответствует типу видеоадаптера компьютера.
Большинство видеоадаптеров могут работать в нескольких графических режимах. Эти режимы различаются разрешением и набором доступных цветов.
Слайд 10

Загрузка графического режима В пакет Turbo Pascal входит модуль Graph, который

Загрузка графического режима

В пакет Turbo Pascal входит модуль Graph, который содержит

процедуры, функции, а также встроенные типы и константы, предназначенные для работы в графическом режиме.
Чтобы воспользоваться возможностями модуля Graph, в начале программы необходимо разместить оператор:
uses Graph;
Слайд 11

Инициализация графического режима и выход из него Переключение в графический режим

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

Переключение в графический режим работы

дисплея выполняется вызовом процедуры:
InitGraph (gd, gm, ‘c:\tp\bgi’);

Строка с указанием расположения драйвера на диске

Видеорежим

Тип адаптера

Слайд 12

Для большинства современных видеоадаптеров можно использовать драйвер egavga.bgi. Пустая строка означает,

Для большинства современных видеоадаптеров можно использовать драйвер egavga.bgi.
Пустая строка означает,

что графический драйвер находится в том же каталоге, что и программа.
Инициализация графического режима обычно сопровождается обработкой возможных ошибок инициализации с помощью функции GraphResult .
Слайд 13

Эти ошибки могут быть связаны с отсутствием графического драйвера или неправильными

Эти ошибки могут быть связаны с отсутствием графического драйвера или неправильными

значениями параметров.
При наличии ошибок функция GraphResult возвращает отличный от нуля результат - код ошибки.
Завершение работы в графическом режиме производится с помощью процедуры CloseGraph, которая выгружает драйвер из памяти и восстанавливает предыдущий видеорежим.
Слайд 14

Тип видеоадаптера может быть задан путём присваивания соответствующего значения переменной gd.

Тип видеоадаптера может быть задан путём присваивания соответствующего значения переменной gd.


При автоматическом распознавании видеоадаптера в правой части оператора присваивания указывается встроенная константа Detect (она имеет нулевое значение):
gd:= Detect;
Слайд 15

Чтобы задать определённый графический режим, следует присвоить значение переменной gm. По умолчанию gm равно 0.

Чтобы задать определённый графический режим, следует присвоить значение переменной gm.
По

умолчанию gm равно 0.
Слайд 16

Пример программы для инициализации графического режима и выхода из него Program

Пример программы для инициализации графического режима и выхода из него

Program p1;
Uses

graph;
Var gd, gm, Err : integer;
Begin
gd:=Detect;
initGraph (gd, gm,’’);
Err:=GraphResult;
Слайд 17

If Err=grOk Then Begin {графика} Setbkcolor(6); Setcolor(4); Line (10, 50, 600,

If Err=grOk Then
Begin
{графика}
Setbkcolor(6);
Setcolor(4);
Line (10, 50, 600, 300);
setFillStyle(1,5); {новый стиль}

bar(100,100,200,200);
Setcolor(3);
circle(300,300,100);
Setcolor(13);
Слайд 18

Circle (300,300,50); Readln; CloseGraph; End Else WriteLn(‘Ошибка инициализации графики:’, GraphErrorMsg(Err)); End.

Circle (300,300,50);
Readln;
CloseGraph;
End
Else WriteLn(‘Ошибка инициализации графики:’, GraphErrorMsg(Err));
End.

Слайд 19

Некоторые функции

Некоторые функции

Слайд 20

Функция GraphResult. Возвращает значение типа integer, в котором закодирован результат последнего

Функция GraphResult. Возвращает значение типа integer, в котором закодирован результат последнего

обращения к графическим процедурам. Если ошибка не обнаружена, значением функции будет ноль, в противном случае – отрицательное число.
Значению 0 соответствует встроенная константа grOk.
Слайд 21

Чаще всего причиной возникновения ошибки при обращении к процедуре InitGraph, является

Чаще всего причиной возникновения ошибки при обращении к процедуре InitGraph, является

неправильное указание местоположения файла с драйвером графического адаптера(например, файла CGA.BGI для адаптера CGA).
Слайд 22

Для упрощения повторения примеров скопируйте файл, соответствующий адаптеру Вашему ПК, в текущий каталог.

Для упрощения повторения примеров скопируйте файл, соответствующий адаптеру Вашему ПК, в

текущий каталог.
Слайд 23

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

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

режим работы экрана.
Слайд 24

Процедура RestoreCRTMode. Служит для кратковременного возврата в текстовый режим. В отличие

Процедура RestoreCRTMode. Служит для кратковременного возврата в текстовый режим.
В отличие

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