Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_теория и практикум.doc
Скачиваний:
11
Добавлен:
20.08.2019
Размер:
861.7 Кб
Скачать

Процедуры модуля graph

Вообще в Турбо-Паскале предусмотрены встроенные графические процедуры, которые дают возможность изображать точки и линии в различных цветах, но их недостаточно для построения содержательных графических образов. Поэтому надо использовать внешние графические подпрограммы, объеденённые в модуль GRAPH (например, изображение окружности, элипса, дуги, раскраска фигур).

Графические процедуры

GraphBackGround (номер цвета) - устанавливает цвет всего экрана;

№=1…15

GraphWindow(X1,Y1,X2,Y2) - определяет окно:

Тогда внутри окна точка в левом верхнем углу приобретает координаты (0,0)

По умолчанию весь экран рассматривается как активное окно.

Window(X1,Y1,X2,Y2) - выделяет в текстовом режиме окно:

Минимальный размер текстового окна состовляет матрица из 2 строк и 2 колонок.

По умолчанию весь экран рассматривается как окно с координатами (1,1) и (80,25) или (1,1) и (40,25), в зависимости от установленного размера этого экрана.

Plot(x,y,m) - изображает на экране точку цвета M с координатами(x,y) при заданной процедурой Palette(N) палитре.

Пример: Plot(0,0,1) - вызывает индикацию точки зелёного цвета в верхнем левом углу экрана, если установлена процедура Palette(0).

Drow(X1,Y1,X2,Y2,M) - рисует отрезок прямой линии цвета M (в заданной палитре), соединяющий точки с координатами (X1,Y1) и (X2,Y2).

Процедуры Drow и Plot являются встроенными в Турбо-Паскаль. Следующие процедуры подключаются к программе из модуля GRAPH (GRAPH3), который хранится во внешнем файле.

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

Процедура InitGraph (GraphDriver:Detect или 0; GraphMode: ‘путь’; режим) - инициализация графического режима.

CloseGraph - прикращение графического режима.

RestoreCrtMode - возвращение в текстовый режим(кратковременное).

Пример. Переход из графического режима в текстовый и обратно.

Program primer;

Uses Graph;

Var driver, regim:integer;

Begin{инициализация графического режима}

Driver:=deteet;

InitGraph(driver,regim,' ');

Writeln('это графический режим');

Writeln('нажмите ENTER')

Readln;

{переход в текстовый режим}

RestoreCrtMode;

Writeln('а это текстовый режим')ж

Readln;

{возвращение в графический режим}

SetGraphMode(GetGraphMode);

Writeln('это снова графический режим');

Readln;

CloseGraph;

End.

Координаты. Окна. Страницы

G etMaxX

Даёт максимальные координаты экрана.

GetMaxY

GetX

Даёт текущие координаты курсора.

GetY

SetViewPort(X1,Y1,X2,Y2,отсечка)

Процедура SetViewPort(X1,Y1,X2,Y2,отсечка) - устанавливает прямоугольное окно на графическом экране. Отсечка - логическое выражение, определяющее отсечку не умещающихся в окне элементов изображения. Координаты задаются относительно левого верхнего угла экрана.

True, лишнее отсекается (clip On)

Отсечка =

False, все изображение (clip Off)

Пример. Построить 2 прямоугольных окна,обвести их рамками и нарисовать в них одинаковые окружности.

Program rect_2;

Uses Graph;

Var x,y integer

Const X11=0; Y11=20; X12=120;Y12=65;

X21=200; Y21=Y11; X22=320; Y22=Y12;

Begin

X:=Detect;

InitGraph(X,Y,’..\BGI’);

Rertangle (X11,Y11,X12,Y12);

Rertangle(X21,Y21,X22,Y22);

SetViewPort(X11,Y11,X12,Y12,ClipOn);

Circle(20,20,60);

SetViewPort (X21,Y21,X22,Y22,Clip Off);

Circle(20,20,60);

Readln;

CloseGraph

End.

MoveRel(dx,dy);-перемещает указатель координат на заданное расстояние(точка не высвечивается).

MoveTo(x,y);-перемещает указатель в точку(x,y).(точка не высвечивается).

ClearDevice-очищает графический экран.

ClearViewPort-очищает графическое окно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]