Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Драйверы. Инициализация графики.




ЛАБОРАТОРНАЯ РАБОТА №12

Тема “Графические средства Turbo Pascal”

Вариант №1

Построить кривую по заданному параметрическому представлению.

Улитка Паскаля:

Рассмотреть случаи b³2a, a<b<2a, a>b.

Вариант №2

Дано натуральное число r. Построить 8 точек, являющихся вершинами правильного восьмиугольника, вписанного в окружность радиуса r, и провести все его диагонали. Координаты точек задаются формулами

Вариант №3

Построить кривую по заданному параметрическому представлению.

Кардиоида:

Вариант №4

Построить кривую по заданному параметрическому представлению.

Эпициклоида:

Рассмотреть случай b/a – целое положительное число.

Вариант №5

Построить на экране множество точек координаты которых удовлетворяют следующей системе:

Вариант №6

Построить кривую по заданному параметрическому представлению.

Астроида:

 

Вариант №7

Построить кривую по заданному параметрическому представлению.

Циссоида:

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ ЛАБОРАТОРНОЙ РАБОТЫ №3.

«Графические средства TURBO PASCAL»

СТАНДАРТНЫЕ МОДУЛИ. МОДУЛЬ GRAPH.

Модуль Graph реализует полную библиотеку из более чем 50 графических программ, начиная от высокоуровневых, таких как SetViewPort, Circle, Bar3D или DrawPoly до бит-ориентированных, таких как GetImage и PutImage. Поддерживаются несколько типов линий и стилей заполнения, существует несколько типов шрифтов, которые можно увеличивать, выравнивать и ориентировать вертикально или горизонтально.

Для того чтобы компилировать программу, которая использует модуль Graph, Вам требуется Ваш исходный код, компилятор и доступ к стандартным модулям в TURBO.TPL и модулю Graph в GRAPH.TPU. Для того чтобы выполнить программу, которая использует модуль Graph, Вам необходим один или более графических драйверов (.BGI файлы, см. ниже). Кроме того, если Ваша программа использует штриховые шрифты, Вам потребуется один или более файлов шрифтов (.CHR).

Драйверы. Инициализация графики.

Графические драйверы поддерживают следующие графические адаптеры (и полностью совместимые с ними):

- CGA (драйвер CGA.BGI)

- MCGA (драйвер CGA.BGI)

- EGA (драйвер EGAVGA.BGI)

- VGA (драйвер EGAVGA.BGI)

- Hercules (драйвер HERC.BGI)

- AT&T 400 строк (драйвер ATT.BGI)

- 3270 PC (драйвер PC3270.BGI)

- IBM-8514 (драйвер IBM8514.BGI)

Каждый драйвер содержит код и данные, хранящиеся в отдельном файле. Во время выполнения, процедура InitGraph определяет графическое устройство, загружает и инициализирует соответствующий графический драйвер, переводит систему в графический режим и возвращает управление вызывающей программе. Процедура CloseGraph выгружает драйвер из памяти и восстанавливает предыдущий видеорежим. Вы можете переключиться между графическим и текстовым режимами используя RestoreCrtMode и SetGraphMode.

 

Процедура InitGraph Инициализирует графическую систему и переводит аппаратуру в графический режим.

Описание: InitGraph (var граф_драйвер: integer; var граф_режим: integer; путь_драйвер: string)

Примечания: И параметр "граф-драйвер", и параметр "граф-режим" являются параметрами-переменными (var). Если параметр "граф_драйвер" равняется Detect(0), то выполняется вызов процедуры DetectGraph, загружается соответствующий драйвер и выбирается графический режим. Если параметр "граф_драйвер" не равен 0, то значение этого параметра рассматривается, как номер драйвера. Этот драйвер загружается и система переводится в режим, определяемый параметром "граф_режим". Заметим, что если значение автоматического распознавания аппаратуры изменено, то вы должны для требуемого драйвера обеспечить правильный параметр "граф_режим". Параметр "путь_драйвер" определяет путь доступа к каталогу (маршрут), в котором находятся графические драйверы. Если этот параметр пуст, то подразумевается, что файлы драйверов содержатся в текущем каталоге.

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

Если происходит ошибка, то процедура GrapDriver и функция GraphResult возвращают одно из следующих значений:

Константа Код ошибки Соответствующее сообщение об ошибке
grOk   нет ошибки
grNoInitGraph   графика не инициализирована
grNotDetected   графические средства не найдены
grFileNotFound   файл не найден
grInvalidDriver   недопустимый драйвер
grNoLoadMem   память не загружена
grNoScanMem   ошибка при просмотре памяти
grNoFloodMem   ошибка при закраске
grFontNotFound   шрифт не найден
grNoFontMem   шрифт не загружен в память
grInvalidMode   недопустимый режим
grError   ошибка графики
grIOError   ошибка ввода-вывода графики
grInvalidFon   недопустимый файл шрифта
grInvalidFontNum   недопустимый номер шрифта

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

Пример:

uses Graph;

var grDriver: integer;

grMode: integer;

EmCode: integer;

Begin

gDriver:=Detect;

InitGraph(grDiver,grMode,'');

ErrCode:=GraphResult;

if ErrCode <> grOk then

begin { выполнить графические функции }

Line(0, 0, GetMaxX, GetMaxY);

Readln;

CloseGraph;

End

Else

Writeln ('Ошибка графики: ',GraphErrorMsg(ErrCode));

end.

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

Описание: DetectGraph(var драйвер, режим: integer).

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

Определены следующие константы:

Константа Detect CGA MCGA EGA EGA64 EGAMono Reserved HercMono ATT400 VGA PC3270  
значение                      
                           

Detect = 0; { требование автоматического распознавания }

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

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

Описание: CloseGraph

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

Ограничения: Должен использоваться графический режим.

Пример:

grDriver:=Detect; { установить автоматическое распознавание аппаратуры }

InitGraph(grDriver,grMode,'');

...

CloseGraph;

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...