Uses Graph, Crt;
VAR
Gd,Gm : INTEGER;
Radius, I, Width, K : INTEGER;
Y0, Y1, Y2, X1, X2 : INTEGER;
Pattern : FillPatternType;
Points : ARRAY[1..6] OF PointType;
BEGIN Gd:=vga; Gm:=1;
{ Инициализация графического режима }
InitGraph(Gd,Gm,'C:\tp7\bgi'); IF GraphResult<>0 THEN HALT(1); SetBkColor(0); SetColor(2); {Цвет фона и изображения} I:=0; FOR Radius:=1 TO 5 DO Begin {Построение окружностей } SetColor(Radius+4);
Circle(150,150,Radius*25);
Inc(I); IF I=4 THEN I:=0;
End;
ReadLn;
ClearDevice; SetBkColor(1); SetColor(5); SetLineStyle(0,0,3);
Ellipse(130,130,0,360,30,50); {эллипс}
ReadLn;
ClearDevice; SetColor(4); Ellipse(130,130,0,180,100,70); { эллиптическая дуга}
ReadLn;
ClearDevice; K:=4;
FOR Radius:=1 TO 5 DO Begin
SetColor(K);
Arc(300,100,0,90,Radius*20); {дуги}
Inc(K);
end;
ReadLn;
ClearDevice; Width:=20; SetColor(1); SetBkColor(11);
FOR I:=1 TO 5 DO Begin
SetFillStyle(7,I+4); {определение стиля заполнения}
Bar(I*Width,I*20,Succ(I)*Width,200); {построение прямоугольников}
end;
SetFillStyle(5,12); Bar(150,150,250,250);
ReadLn;
{Построение параллелепипеда с верхней плоскостью}
SetFillStyle(8,4); ClearDevice;
Y1:=100; Y2:=200; X1:=230; X2:=300;
SetLineStyle(3,0,3); {Определение стиля линии}
Bar3d(x1,y1,x2,y2,10,topon);
ReadLn;
{Построение параллелепипеда без верхней плоскости}
ClearDevice;
SetLineStyle(0,0,1); setfillstyle(11,1); bar3d(x1,y1,x2,y2,10,topoff);
ReadLn;
{Пользовательский шаблон заполнения}
CleardDevice; SetColor(6); SetLineStyle(0,0,3); { Стиль линии}
{заполнение массива}
Pattern[1]:=31; Pattern[2]:=62; Pattern[3]:=124; Pattern[4]:=248;
Pattern[5]:=124; Pattern[6]:=62; Pattern[7]:=31; Pattern[8]:=0;
SetFillPattern(pattern,12); {Задание шаблона пользователя}
Bar(10,10,GetMaxX Div 2,GetMaxY Div 2);
Rectangle(10,10,GetMaxX Div 2,GetMaxY Div 2);
ReadLn;
{Построение закрашенного сектора эллипса}
ClearDevice; SetBkColor(3); SetColor(4); SetFillStyle(7,14);
Sector(100,100,0,90,50,70);
ReadLn;
ClearDevice; SetFillStyle(1,14); {Построение закрашенного сектора круга}
Pieslice(150,150,90,360,100);
ReadLn;
{Построение эллипса, заполненного текущим цветом}
ClearDevice; SetFillStyle(6,13); SetLineStyle(3,0,1);
FillEllipse(200,200,50,100);
ReadLn;
{Построение закрашенного многоугольника}
ClearDevice; Randomize; SetLineStyle(0,0,1); SetFillStyle(11,1);
{Определение случайных координат вершин}
FOR I:=1 TO 5 DO Begin
Points[I].X:=Random(GetMaxX); Points[I].Y:=Random(GetMaxY);
End;
Points[6].X:=Points[1].Y; Points[6].Y:=Points[1].Y;
Fillpoly(6,Points);
ReadLn;
CloseGraph;
END.