Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мет. вказ. Программирование (2 сем).doc
Скачиваний:
24
Добавлен:
26.11.2018
Размер:
2.57 Mб
Скачать

Лабораторна робота 11 Графіка в Turbo Pascal

Мета роботи. Познайомитися з особливостями середовища Turbo Pascal; особливостями роботи в графічному режимі GRAPH; стандартними процедурами і функціями модуля CRT; стандартними процедурами і функціями модуля GRAPH. Навчитися робити необхідні дії з програмою; працювати в графічному режимі; правильно застосовувати стандартні процедури і функції модуля CRT; правильно застосовувати стандартні процедури і функції модуля GRAPH. Використовувати процедури і функції при рішенні задач.

Поняття графічного адаптера. Апаратна підтримка графіки персонального комп'ютера забезпечується двома основними модулями: відеоадаптером і відеомонітором. Відеомонітор – це пристрій, на якому з'являється виведений текст чи графічні зображення. Відеоадаптери – це електронні пристрої, керовані власним мікропроцесором. При роботі з екраном у графічному режимі дуже важливим є те, що будь-яка інформація являє собою сукупність пікселей. Кожен піксель визначається своїми координатами, тобто положенням щодо лівого верхнього кута екрана. За допомогою програм можна керувати світністю і кольором будь-якого пікселя, тобто створювати будь-як зображення.

Для керування екраном у графічному режимі за допомогою програм у Turbo Pascal існують спеціальні графічні процедури і функції. Опис цих процедур і функцій міститься в спеціальному бібліотечному модулі GRAPH.

Запуск графічної системи. Для запуску графічної системи необхідно зробити наступне: Підключити модуль GRAPH – бібліотеку графічних процедур: uses graph;

Встановити графічний режим за допомогою двох змінних:

var DriverVar, ModeVar: integer;

begin

DriverVar:=Detect;

InitGraph(DriverVar, ModeVar,'\TP\GRAPH');

З цього моменту всі графічні засоби доступні користувачу.

Процедури і функції модуля craph Процедури.

Arc (X,Y:Integer; U1, U2, R:Word) Будує дугу кола поточним кольором з поточними параметрами лінії. X, Y – координати центра дуги; U1 – кут до початкової точки дуги, відлічуваний против годинникової стрілки від горизонтальної осі, спрямованої з лева на право; U2 – кут до кінцевої точки дуги, відлічуваний так само, як U1; R – радіус дуги.

Bar (X1, Y1, X2, Y2:Integer) Будує прямокутник, зафарбований поточним кольором з використанням поточного стилю (орнаменту, штрихування). X1, Y1, X2, Y2 – координати лівого верхнього і правого нижнього кутів прямокутника.

Bar3D (X1, Y1, X2, Y2:Integer; Glubina: Word; Top:Boolean) Будує паралелепіпед, використовуючи поточний стиль і колір. X1, Y1, X2, Y2 – координати лівого верхнього і правого нижнього кутів передньої грані; Glubina – ширина бічної грані (відраховується по горизонталі); Top – ознака включення верхньої грані.

Circle (X, Y: Integer; R: word) Малює поточним кольором коло радіуса R з центром у точці (X, Y).

ClearDevice Очищує графічний екран, зафарбовує його в колір фона.

ClearViewPort Очищує виділене графічне вікно, зафарбовує в колір фона.

CloseGraph Закриває графічний режим (звільняє пам'ять, розподілену під драйвери графіки і відновлює текстовий режим роботи екрана).

Ellipse (X, Y: Integer; U1, U2, XR, YR: Word) Малює дугу еліпса поточним кольором. X, Y – координати центра еліпса; U1, U2 – кути до початкової і кінцевої точок дуги еліпса (див. процедуру Arc); XR, XY – горизонтальна і вертикальна півосі еліпса.

Fill Ellipse (X, Y: Integer; U1, U2, XR, YR: Word) Малює заштрихований еліпс, використовуючи X, Y як центр і XR, YR як горизонтальну і вертикальну півосі еліпса.

FillPoly (N: Word; Var PolyPoints) Малює і штрихує багатокутник, що містить N вершин з координатами в поле PolyPoints.

InitGraph (Var Driver, Mode:Integer; Path: String) Організує перехід у графічний режим. Змінні Driver і Mode містять тип графічного драйвера і його режим роботи. Третій параметр визначає маршрут пошуку графічного драйвера. Якщо рядок порожній (тобто дорівнює ’’), вважається, що драйвер знаходиться в поточному каталозі.

Line(X1, Y1, X2, Y2:Integer) Малює лінію від точки X1, Y1 до точки X2, Y2.

LineTo (X,Y:Integer) Малює лінію від поточного покажчика до точки X, Y.

MoveTo (X,Y:Integer) Зміщає поточний покажчик до точки X, Y.

OutTextXY (X,Y:Integer; TextString: String) Виводить текст у задане місце.

PieSlice (X,Y:Integer; U1, U2, Radius: Word) Будує сектор кола, зафарбований поточної штрихуванням і кольором заповнення. X, Y – координати центра сектора кола; U1 і U2 – початковий і кінцевий кути сектори, відлічувані проти годинникової стрілки від горизонтальної осі, спрямованої в право; Radius – радіус сектора.

PutPixel (X,Y:Integer; Color: Word) Виводить точку кольором Color з координатами X, Y.

Rectangle (X1, Y1, X2, Y2) Малює контур прямокутника, використовуючи поточний колір і тип ліній. X1, Y1 – координати лівого верхнього кута, а X2, Y2 – координати лівого правого нижнього кута прямокутника.

Sector (X, Y: Integer; U1, U2, XR, YR: Word) Малює і штрихує сектор еліпса радіусом XR, YR з центром у X, Y від кута U1 до кінцевого кута U2.

SetBkColor (Color: Word) Установлює колір фона.

SetColor (Color: Word) Встановлює основний колір малювання.

SetFillStyle (Pattern, Color: Word) Установлює зразок штрихування і кольору.

SetLineStyle (LineStyle, Pattern, Thickness: Word) Установлює товщину і колір лінії.

SetTextStyle (Font, Direction, CharSize: Word) Установлює поточний шрифт, напрямок (горизонтальне чи вертикальне) і розмір тексту.

SetViewPort (X1, Y1, X2, Y2:Integer; ClipOn: Boolean) Установлює прямокутне вікно на графічному екрані.