Основы языка Pascal Графика
Графический режим Для вывода графических изображений на экран монитора в языке Pascal существует стандартная библиотека Graph (Win. Graph, Graph. ABC), подключение которой осуществляется стандартным способом uses Graph; или uses Win. Graph; В графическом режиме работы любое изображение на экране дисплея состоит из множества мельчайших светящихся точек – пикселей. Экран дисплея представляет собой прямоугольную сетку координат.
Система координат X (0, 0) y x Y (x, y) (getmaxx, getmaxy)
Графический режим После подключения модуля Win. Graph нужно перевести среду в графический режим в основной части программы. Делается это при помощи процедуры Init. Graph(gd, gm, path); Параметры процедуры: gd – название графического драйвера; gm – номер режима, так как драйвер может поддерживать несколько режимов; path – путь к файлу драйвера, который для Free. Pascal можно не указывать. После того как вы закончили рисовать, графический режим нужно закрыть командой Close. Graph;
Начало работы с графикой Общая структура графической программы: Uses wingraph, wincrt; var gd, gm: Integer; begin gd : = Detect; Init. Graph(gd, gm, ‘C: bpbgi’); . . . {графические операторы}. . . Read. Key; Close. Graph; end.
Управление цветом Цвет и толщина линий, цвет точек, цвет текста: Setcolor(color); Цвет и стиль заливки: Set. Fill. Style(style, color);
Точки, отрезки и ломаные (x, y) Putpixel(x, y, blue); (x 1, y 1) (x 2, y 2) (x 1, y 1) (x 5, y 5) (x 2, y 2) (x 3, y 3) (x 4, y 4) Setcolor(green); Line (x 1, y 1, x 2, y 2); Setcolor(red); Move. To (x 1, y 1); Line. To (x 2, y 2); Line. To (x 3, y 3); Line. To (x 4, y 4); Line. To (x 5, y 5);
Контуры фигур (x 1, y 1) Setcolor(blue); Rectangle (x 1, y 1, x 2, y 2); (x 2, y 2) R (x, y) Setcolor(green); Circle(x, y, R); Шрифт, направление (0 или 1), размер (1 -10) (x, y) Флаг Setcolor(green); Set. Text. Style(0, 0, 5); Out. Text. XY(x, y, ‘Флаг’);
Фигуры с заливкой (x 1, y 1) Set. Fill. Style(1, yellow); Bar(x 1, y 1, x 2, y 2); (x 2, y 2) (x 1, y 1) Set. Fill. Style(1, green); Ellipse (x 1, y 1, x 2, y 2); (x 2, y 2) (x, y) Set. Fill. Style(1, lightblue); Flood. Fill(x, y, black); До какого цвета идёт заливка (цвет границы)
Задание 1. 2. 3. 4. 5. 6. 7. 8. По запросу пользователя (1, 2 или 3) нарисовать круг, прямоугольник или треугольник. Цвет границы фигуры и заливки должен отличаться. Нарисовать флаг России на голубом фоне, вписать в 1/9 экрана, используя относительные координаты getmaxx и getmaxy. Нарисовать флаг Японии (аналогично). Нарисовать флаг Франции (аналогично). Нарисовать флаг Чехии (аналогично). Нарисовать флаг Бразилии (аналогично). Нарисовать Олимпийский флаг (аналогично). Нарисовать все 6 флагов на одном экране.
Задание (0, 0) getmaxx div 3 X getmaxy div 3 Y (getmaxx, getmaxy)