Основы языка Pascal
393.00K
Категория: ПрограммированиеПрограммирование

Графика. Графический режим

1. Основы языка Pascal

Графика

2.

Графический режим
Для вывода графических изображений на экран
монитора в языке Pascal существует стандартная библиотека
Graph (WinGraph, GraphABC), подключение которой
осуществляется стандартным способом
uses Graph; или uses WinGraph;
В графическом режиме работы любое изображение на
экране дисплея состоит из множества мельчайших
светящихся точек – пикселей. Экран дисплея представляет
собой прямоугольную сетку координат.

3.

Система координат
X
(0,0)
y
x
(x,y)
(getmaxx,getmaxy)
Y

4.

Графический режим
После подключения модуля WinGraph нужно перевести
среду в графический режим в основной части программы.
Делается это при помощи процедуры
InitGraph(gd, gm, path);
Параметры процедуры:
gd – название графического драйвера;
gm – номер режима, так как драйвер может поддерживать
несколько режимов;
path – путь к файлу драйвера, который для FreePascal можно
не указывать.
После того как вы закончили рисовать, графический режим
нужно закрыть командой CloseGraph;

5.

Начало работы с графикой
Общая структура графической программы:
Uses wingraph, wincrt;
var gd, gm: Integer;
begin
gd := Detect;
InitGraph(gd, gm, ‘C:\bp\bgi’);
...
{графические операторы}
...
ReadKey;
CloseGraph;
end.

6.

Управление цветом
Цвет и толщина линий, цвет точек, цвет текста:
Setcolor(color);
Цвет и стиль заливки:
SetFillStyle(style,color);

7.

Точки, отрезки и ломаные
(x, y)
Putpixel(x, y, blue);
(x1, y1)
(x2, y2)
(x1, y1)
(x5, y5)
(x2, y2)
(x3, y3)
(x4, y4)
Setcolor(green);
Line (x1, y1, x2, y2);
Setcolor(red);
MoveTo (x1, y1);
LineTo (x2, y2);
LineTo (x3, y3);
LineTo (x4, y4);
LineTo (x5, y5);

8.

Контуры фигур
(x1, y1)
Setcolor(blue);
Rectangle (x1, y1, x2, y2);
(x2, y2)
R
(x, y)
Setcolor(green);
Circle(x, y, R);
Шрифт, направление (0 или 1),
размер (1-10)
(x, y)
Флаг
Setcolor(green);
SetTextStyle(0, 0, 5);
OutTextXY(x, y, ‘Флаг’);

9.

Фигуры с заливкой
(x1, y1)
SetFillStyle(1, yellow);
Bar(x1, y1, x2, y2);
(x2, y2)
(x1, y1)
SetFillStyle(1, green);
Ellipse (x1, y1, x2, y2);
(x2, y2)
(x, y)
SetFillStyle(1, lightblue);
FloodFill(x, y, black);
До какого цвета
идёт заливка
(цвет границы)

10.

Задание
1.
2.
3.
4.
5.
6.
7.
8.
По запросу пользователя (1, 2 или 3) нарисовать круг, прямоугольник или
треугольник. Цвет границы фигуры и заливки должен отличаться.
Нарисовать флаг России на голубом фоне, вписать в 1/9 экрана,
используя относительные координаты getmaxx и getmaxy.
Нарисовать флаг Японии (аналогично).
Нарисовать флаг Франции (аналогично).
Нарисовать флаг Чехии (аналогично).
Нарисовать флаг Бразилии (аналогично).
Нарисовать Олимпийский флаг (аналогично).
Нарисовать все 6 флагов на одном экране.

11.

Задание
(0,0)
getmaxx div 3
X
getmaxy div 3
(getmaxx,getmaxy)
Y
English     Русский Правила