Лабораторная работа № 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,φ1,φ2,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 |
Нормальная толщина
Увеличенная толщина |
