Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб 5-7.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
222.36 Кб
Скачать

Лабораторная работа № 6 построение графических изображений

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

Теория. Графические возможности языка Turbo Pascal реализованы с помощью библиотечной подпрограммы GRAPH.TPU, расположенной в модуле GRAPH. После ее подключения программа может рисовать геометрические фигуры и изменять цветовую гамму. Для вычисления координат необходимо учитывать размер рабочей области: горизонталь [0—640]; вертикаль[0 (в верхней левой позиции экрана) — 480]. Для выполнения заданий использовать следующие процедуры.

1. Процедура вывода линии:

Line(X1,Y1,X2,Y2);

Здесь (X1,Y1) — координаты начала, (X2,Y2) — координаты конца.

2. Процедура изображения окружности:

Circle(X,Y,R);

Здесь (X,Y) — координаты центра окружности, R — радиус.

3. Процедура изображения прямоугольника:

Rectangle(X1,Y1,X2,Y2);

Здесь (X1,Y1) — координаты верхнего левого угла прямоугольника, (X2,Y2)  — правого нижнего.

4. Процедура изображения эллиптической дуги из центра с координатами (X,Y) от угла φ1 до угла φ2, XR и YR — размеры горизонтальной и вертикальной полуосей соответственно:

Ellipse(X,Y,φ12,XR,YR);

5. Процедура изображения эллипса и заполнение его по установленному шаблону:

FillEllipse(X,Y,XR,YR).

В графической библиотеке разработаны команды для изменения цвета (табл. 6.1), типа заливки (табл. 6.2), типа линии (табл. 6.3), типа ее ширины (табл. 6.4):

1. Установка цвета изображения фигур:

SetColor(C);

2. Установка цвета фона:

SetBkColor(C);

По умолчанию цвет фона равен 0 (черный).

3. Установка типа и цвета заливки:

SetFillStyle(NP,C);

Здесь NP — тип заливки.

4. Установка типа линии:

SetLineStyle(TL,0,TWL);

Здесь TL — тип линии, TWL — тип ширины линии.

5. Процедура заполнения всей области вокруг точки (X,Y), ограниченной линиями цвета С:

FloodFill(X,Y,С).

6. Процедура вывода текста на графический экран с точки ( X,Y)

OutTextXY(msg : string)

7. Возврат максимального значения по оси ОХ для данного графического режима

GetMaxX

8. Возврат максимального значения по оси ОY для данного графического режима

GetMaxY

Т а б л и ц а 6.1 Т а б л и ц а 6.2

Имя

константы

Значе-

ние

Смысл

Константы

Значение

и смысл

Black

Blue

Green

Cyan

Red

Magenta

Brown

LightGray

DarkGray

LightBlue

LightGreen

LightCyan

LightRed

0

1

2

3

4

5

6

7

8

9

10

11

12

Черный

Синий

Зеленый

Бирюзовый

Красный

Малиновый

Коричневый

Светло-серый

Темно-

коричневый

Ярко-синий

Ярко-зеленый

Ярко-

бирюзовый

Ярко-красный

EmptyFill

SolidFill

LineFill

LtSlashFill

SlashFill

BkSlashFill

LtBkSlashFill

HatchFill

XHatchFill

InterleaveFill

WideDotFill

CloseDotFill

UserFill

0 Пустая заливка

1 Сплошное

заполнение

2 ---

3 ///

4 ///

5 \\\

6 \\\

7 Сетка

8 Штрихпунктир

9 Решетка

10 Заполнение

точками

11 Мелкие точки

12 Пользовательская

LightMagenta

Yellow

White

13

14

15

Ярко-малиновый

Желтый

Белый

Т а б л и ц а 6.3 Т а б л и ц а 6.4

Имя константы

Значе-

ние

Смысл

Имя

константы

Значе-

ние

Смысл

SolidLn

DottedLn CenterLn

DashedLn

UserBitLn

0

1

2

3

4

Сплошная линия

Пунктирная

Штрихпунктирная

Штриховая

Пользовательская

NormWidth

ThickWidth

1

3

Нормальная

толщина

Увеличенная толщина