ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ Язык программирования Паскаль
Область рисования ( графическое окно ) Графическое окно – Uses graphABC Система координат графического окна Ось Х Ось Y A (100, 50) B (200, 150)
Рисование линии ( отрезка ) Отрезок АВ Line (x1, y1,x2, y2); Line (100, 50, 200, 150); Ось Х Ось Y A (100, 50) B (200, 150)
Рисование прямоугольника Прямоугольник Rectangle (x1, y1,x2, y2); Rectangle (100, 50, 200, 150); Ось Х A (100, 50) B (200, 150)
Координатная сетка графического окна
Толщина и цвет линий Закрашивание замкнутых областей SetPenWidth(3); - толщина линий SetPenColor(clblue); - цвет линий FloodFill(x,y,clцвет); - закрашивание, x,y – координаты точки внутри области FloodFill(150,200,clgreen);
Рисование ломанной линии Ломанная MoveTo (100, 50); LineTo(200, 50); LineTo(150, 150); LineTo(100, 50); Ось Х A (100, 50) B (200, 50) С (150, 150)
Пример программы Uses graphABC; Begin SetPenWidth(3); SetPenColor(clblue); Line(100, 50, 200, 150); Rectangle(300, 50, 400, 150); FloodFill(350,100,clgreen); end.
Рисование эллипса Эллипс Ellipse (x1, y1, x2, y2) Ellipse (100, 50, 200, 150) Ось Х A (100, 50) B (200, 150)
Координатная сетка графического окна
Подпрограммы Uses graphABC; var x,y:integer; procedure имя-1; begin … end; procedure имя-2; begin … End; Begin x:=a1; y:=b1; имя-1; x:=a2; y:=b2; имя-2; x:=a3; y:=b3; имя-2; x:=a4; y:=b4; имя-1; end.
Пример использования подпрограмм Uses graphABC; var x,y:integer; procedure pr; begin rectangle(x,y,x+100,y+50); end; procedure rb; begin moveto(x,y); lineto(x+25,y+25); lineto(x,y+50); lineto(x-25,y+25); lineto(x,y); End; begin setpenwidth(3); x:=50; y:=50; pr; x:=200; y:=50; rb; x:=100; y:=150; rb; x:=150; y:=150; pr; end.
Пример использования подпрограмм begin setpenwidth(3); x:=50; y:=50; pr; x:=200; y:=50; rb; x:=100; y:=150; rb; x:=150; y:=150; pr; end.
Масштабируемое изображение a D A B C A (x, y) B(x+3*a, y+7*a)
Масштабируемое изображение D A B C setpenwidth(3); moveto(x,y); lineto(x+5*a,y); lineto(x+3*a,y+7*a); lineto(x+a,y+7*a); lineto(x+3*a,y+a); lineto(x,y+a); lineto(x,y); uses graphabc; var x,y,a:integer; begin a:=30; x:=50; y:=50;
Масштабируемое изображение D A B C lineto(x+10*a,y+3*a); lineto(x+10*a,y); lineto(x+11*a,y); lineto(x+11*a,y+7*a); lineto(x+10*a,y+7*a); lineto(x+10*a,y+4*a); lineto(x+7*a,y+4*a); lineto(x+7*a,y); end. moveto(x+7*a,y); lineto(x+8*a,y); lineto(x+8*a,y+3*a