Подпрограммы модуля Graph

Procedure Art (X, Y: Integer; Angle1, Angle2, R: Word);

Рисует дугу окружности текущим цветом с центром (X, Y) радиусом R от начального угла Angle1 до конечного угла Angle2.

 

Procedure Bar (X1, Y1, X2, Y2: Integer);

Рисует закрашенный столбец, используя текущий тип и цвет закрашивания.

 

Procedure Circle (X, Y: Integer; R: Word);

Рисует окружность с центром в точке (X, Y) радиусом R текущим цветом.

 

Procedure ClearDevice;

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

 

Procedure ClearViewPort;

Очищает текущую область (окно). При этом используется цвет, сохраненный в Palette(0), вызывается процедурой Bar и текущий указатель перемещается в точку с координатами (0, 0).

 

Procedure CloseGraph;

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

 

Procedure DetectGraph (var Driver, Mode: Integer);

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

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

 

Function GetBkColor: Word;

Возвращает текущее значение фонового цвета.

 

Function GetColor: Word;

Возвращает текущее значение основного цвета, установленного при предыдущем успешном обращении к процедуре SetColor.

 

Function GetDriverName: String;

После обращения к InitGraph данная функция возвращает имя текущего драйвера.

 

Function GetGraphMode: Integer;

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

 

Function GetMaxX: Integer;

Возвращает для текущего графического режима и драйвера максимальное значение координаты Х.

 

Function GetMaxY: Integer;

Возвращает для текущего графического режима и драйвера максимальное значение координаты Y.

 

Function GetX: Integer;

Возвращает текущую координату Х относительно установленного графического окна.

 

Function GetY: Integer;

Возвращает текущую координату Y относительно установленного графического окна.

 

Procedure GraphDefaults;

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

 

Function GetErrorMsg (ErrorCode: Integer): String;

Для заданного кода ошибки графической системы (ErrorCode) возвращает строку, содержащую сообщение об ошибке, соответствующее этому коду.

 

Procedure InitGraph (var grDriver: Integer; var Mode: Integer; Path: String);

Инициализирует графическую систему и переводит аппаратуру в графический режим. Параметры grDriver (графический драйвер) и Mode (графический режим) являются параметрами-переменными (var). Если параметр grDriver равняется Detect, выполняется вызов процедуры DetectGraph, загружается соответствующий драйвер и выбирается графический режим.

 

Procedure Line (X1, Y1, X2, Y2: Integer);

Рисует прямую линию из точки (X1, Y1) в точку (X2, Y2).

 

Procedure Rectangle (X1, Y1, X2, Y2: Integer);

Рисует прямоугольник, используя текущий цвет и тип строки. Точка с координатами (X1, Y1) определяет левый угол прямоугольника, а точка с координатами (X2, Y2) правый нижний угол.

 

Procedure SetColor (Color: Word);

Используя палитру, устанавливает текущий цвет выводимых изображений в значение Color.

 

Procedure SetGraphMode (Mode: Integer);

Устанавливает для системы графический режим и очищает экран.

 

Procedure SetLineStyle (SType: Word; Pattern: Word; S: Word);

Устанавливает текущую толщину S и тип линии SType.

 

Procedure SetTextJustify (Goriz, Vert: Word);

Устанавливает значения выравнивания текста, которые используются процедурами OutText и OutTextXY.


МЕТОДИЧЕСКИЕ УКАЗАНИЯ

Program lines;

Uses Graph, Crt; {подключение графической библиотеки}

Const

grDriver : integer = Detect;

size = 40;

s2 = size div 2;

s4 = size div 4;

Var

grMode, ErrCode, Halfx, Halfy

x, y, x1, y1, x2, y2, i : integer;

begin

randomize;

{- - - - - - - - инициализация графики - - - - - - - - -}

InitGraph (grDriver, grMode, ‘d:\tp\bgi’); { перевод экрана в графический режим }

ErrCode := GraphResult;

{проверка успешного подключения графического режима}

if ErrCode <> GrOk then begin

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

exit end;

{- - - - - - - - вывод линий - - - - - - - - -}

Halfx := GetMaxX div 2; {формирование координат центра экрана}

Halfy := GetMaxY div 2;

x := Halfx;

x1 := x;

y := Halfy;

y1 := y;

for i := 1 to 450 do begin {вывод линий с небольшой задержкой}

x2 := round(cos(0.05*i)* Halfy) + Halfx;

y2 := round(sin(0.05*i)* Halfy) + Halfy;

if (i mod 10) = 0 then SetColor(random(15)+1);

Line(x1, y1, x2, y2);

Line(x, y, x2, y2);

x1 := x2;

y1 := y2;

delay (5);

end; …

CloseGraph {восстановление исходного режима экрана}

end.

СОДЕРЖАНИЕ РАБОТЫ: Написать и отладить программу с использованием модуля Graph.

Вариант Задание
№1, 11 Составить программу бегущего человечка вдоль окна (или по дорожке).
№2, 12 Составить программу попадания футбольного мяча в ворота.
№3, 13 Составить программу движения пирамиды (окружность-квадрат-окружность-квадрат-окружность) вдоль экрана ПК.
№4, 14 Составить программу цветения полевого цветка (в конце лепестки опадают).

 

Вариант Задание
№5, 15 Составить полет теннисного шарика.
№6, 16 Составить программу «Светофор» (смену цветов: красного-желтого-зеленого и их подключение более ярких оттенков).
№7, 17 Составить программу «Солнышко» (прорисовать лучи, их мерцание).
№8, 18 Составить программу работы программиста за компьютером.
№9, 19 Составить программу движения автомобиля вдоль экрана ПК.
№10, 20 Составить программу увеличения окружностей из центра экрана (новая окружность возникает через каждых 5 секунд).

ВОПРОСЫ ВЫХОДНОГО КОНТРОЛЯ:

1. Перечислите типы модуля Graph.

2. Перечислите константы модуля Graph.

3. Перечислите переменные модуля Graph.

4. Перечислите подпрограммы модуля Graph.

ДОМАШНЕЕ ЗАДАНИЕ

Выучить константы, типы, переменные, подпрограммы модуля Graph.