Основы языка Pascal. Графика

Содержание

Слайд 2

Для вывода графических изображений на экран монитора в языке Pascal существует

Для вывода графических изображений на экран монитора в языке Pascal

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

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

Слайд 3

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

Система координат

(0,0)

X

Y

x

y

(getmaxx,getmaxy)

(x,y)

Слайд 4

После подключения модуля WinGraph нужно перевести среду в графический режим в

После подключения модуля WinGraph нужно перевести среду в графический режим в

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

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

Слайд 5

Начало работы с графикой Общая структура графической программы: Uses wingraph, wincrt;

Начало работы с графикой

Общая структура графической программы:

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);

Управление цветом

Цвет и толщина линий, цвет точек, цвет текста:
Setcolor(color);
Цвет

и стиль заливки:
SetFillStyle(style,color);
Слайд 7

Точки, отрезки и ломаные Setcolor(green); Line (x1, y1, x2, y2); Putpixel(x,

Точки, отрезки и ломаные

Setcolor(green);
Line (x1, y1, x2, y2);

Putpixel(x, y, blue);

Setcolor(red);


MoveTo (x1, y1); LineTo (x2, y2);
LineTo (x3, y3);
LineTo (x4, y4);
LineTo (x5, y5);
Слайд 8

Контуры фигур Setcolor(blue); Rectangle (x1, y1, x2, y2); Setcolor(green); Circle(x, y,

Контуры фигур

Setcolor(blue);
Rectangle (x1, y1, x2, y2);

Setcolor(green);
Circle(x, y, R);

R

Setcolor(green);
SetTextStyle(0, 0,

5);
OutTextXY(x, y, ‘Флаг’);

Флаг

(x, y)

Шрифт, направление (0 или 1), размер (1-10)

Слайд 9

Фигуры с заливкой SetFillStyle(1, yellow); Bar(x1, y1, x2, y2); SetFillStyle(1, green);

Фигуры с заливкой

SetFillStyle(1, yellow);
Bar(x1, y1, x2, y2);

SetFillStyle(1, green);
Ellipse (x1, y1, x2,

y2);

SetFillStyle(1, lightblue);
FloodFill(x, y, black);

До какого цвета
идёт заливка
(цвет границы)

Слайд 10

Задание По запросу пользователя (1, 2 или 3) нарисовать круг, прямоугольник

Задание

По запросу пользователя (1, 2 или 3) нарисовать круг, прямоугольник или

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