Графика в Pascal Модуль Graph 1 Подключение дополнительных библиотек Для работы в графическом режиме необходимо подключение модуля Graph. Первой инструкцией программы должна быть инструкция uses Graph; 2 Графический режим Графический умолчанию) экран содержит Pasсal 640 точек (по по горизонтали и 400 точек по вертикали. 640 точек 400 точек Начало отсчета – левый верхний угол экрана 3 Program pr; Uses graph; {использование графического режима} Var gd, {графический драйвер} gm:integer; {графический режим} Begin gd:=detect; {автораспознавание драйвера} Initgraph(gd, gm,’путь к файлу egavga.bgi’); {операторы и процедуры графических построений} Readln; Closegraph; End. Номера цветов 0 1 2 3 4 5 6 7 – черный – синий – зеленый – голубой – красный – фиолетовый – коричневый – светло-серый 8 – темно-серый 9 – ярко-синий 10 – ярко-зелёный 11 – ярко-голубой 12 – ярко-красный 13 – ярко-розовый 14 – жёлтый 15 – белый Графические примитивы 1. Линия 2. Прямоугольник 3. Окружность 4. Эллипс 5. Дуга 6 Линия Line(x1,y1,x2,y2) - рисует отрезок с началом в точке (x1,y1) и концом в точке (x2,y2). x1,y1 x2,y2 Program liniay; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); line(100,50,500,250); Readln; end. 7 Цвет линии SetColor(№ цвета) цвет пера, color. устанавливает задаваемый параметром Program liniay; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); setcolor(№ цвета); line(30,30,400,350); Readln; end. 8 Установка цвета SetBkColor(№ цвета); Устанавливает текущий фоновый цвет program fon; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); SetBkColor(15); Readln; end. 9 Установка цвета и стиля SETFILLSTYLE(№ стиля, № цвета);устанавливает цвет и стиль заливки 10 № стиля Вид стиля заливки № стиля 0 Заполнение (закрашивает цветом фона) 6 1 Заполнение текущим цветом 7 2 8 3 4 9 10 5 11 Вид стиля заливки Прямоугольник Rectangle(x1,y1,x2,y2) - рисует прямоугольник, заданный координатами противоположных вершин (x1,y1) и (x2,y2). x1,y1 x2,y2 Program pryamougolnik; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); Rectangle(50,50,200,200); Readln; end. 12 Прямоугольник (х1,у1) Bar(x1,y1,x2,y2) выводит на экран закрашенный прямоугольник с координатами левого верхнего угла (х1,у1) и правого нижнего угла (х2,у2). (х2,у2) Чтобы начертить закрашенную фигуры нужно: -Установить цвет фигуры: SETCOLOR(№ цвета); -Установить цвет и стиль закраски: SETFILLSTYLE(№ стиля, № цвета); -Нарисовать фигуру: {название фигуры} (данные нужные для закраски); -Закрасить фигуру: FLOODFILL(x,y,№ цвета границы); Где x,y – координаты точки в замкутой области. Окружность Circle(x,y,r) - рисует окружность с центром в точке (x,y) и радиусом r. r x1,y1 Program circle; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); Circle(500,200,100); FloodFill(500,200,4); Readln; end. 14 Эллипс ELLIPSE(x,y,L1,L2,Rx,Ry) рисует эллиптическую дугу от начального угла L1 до конечногоL2, используя Х,У как координаты центра, как горизонтальный (Rx) и вертикальный(Ry) радиус. х Y L2 L1 х Y Rx Ry Program oval; uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); Ellipse(300,260,0,360,260,160); Readln; end. Дуга окружности Arc(x,y,r,a1,a2) - Рисует дугу окружности с центром в точке (x,y) и радиусом r, заключенной между двумя лучами, образующими углы a1 и a2 с осью OX (a1 и a2 – вещественные, задаются в градусах и отсчитываются против часовой стрелки). Program duga; r x,y uses Graph; Var gd,gm:integer; begin gd:=detect; Initgraph(gd,gm,’c:\bp\bgi’); Arc(300,250,150,45,135); Readln; end. 16 Домашнее задание Подготовиться к самостоятельной работе по Графике в Паскале. 17