Line(x1,y1,x2,y2);
(x1,y1) - координаты начала отрезка
(x2,y2) - координаты конца отрезка
!!! Обратите внимание на то, что в процедуре не задается цвет. В этом и аналогичных случаях цвет определяется процедурой SetColor().
LineTo(x,y) - строит отрезок из точки текущего положения указателя в точку с координатами (x,y).
LineRel(dx,dy) - строит отрезок из точки текущего положения указателя в точку с координатами (x+dx, y+dy)
Построение прямоугольника
Rectangle(x1,y1,x2,y2:integer);
Bar(x1,y1,x2,y2:integer) - рисует прямоугольник и закрашивает его цветом и стилем, определенным в процедуре SetFillStyle().
5. Построение дуг, окружностей, эллипсов.
Circle(x,y,<радиус>: word); - окружность указанного радиуса
Ellipse(x,y:integer; < нач_угол >,< кон_угол >:word; xR,yR: word) - построение эллиптических дуг.
X,Y - координаты центра,
xR, yR - длина горизонтальной и вертикальной полуосей в пикселах.
Угол отсчитывается против часовой стрелки и указывается в градусах. Дуга эллипса вычерчивается от заданного начального угла до конечного угла. Если значение начального угла 0, а конечного 360 - будет построен полный эллипс.
6. Построение закрашенного эллипса:
FillEllipse(x,y:integer; xR,yR);
X,Y - координаты центра,
xR, yR - длина горизонтальной и вертикальной полуосей в пикселах.
Стиль заполнения области внутри эллипса устанавливается процедурой SetFillStyle(), а самого эллипса - SetColor().
7. Заполнение внутренней или внешней области замкнутой фигуры.
FloodFill(x,y:integer; < цвет границы области >);
Стиль задан SetFillStyle()
X,Y - координаты точки внутри (или вне) замкнутой области.
Задача. Построить в центре экрана синий прямоугольник, закрасив его линиями вида \\ темно-серого цвета. Фон экрана сделать белым.
Program graph1;
uses Graph;
var Driver, Mode: integer;
Begin
Driver:=Detect; {инициализация графического}
InitGraph(Driver, Mode,’’) { режима}
SetBkColor(15); { установка цвета фона - белый}
SetColor(1); {установка текущего цвета - синего}
Cleardevice; {очистка экрана установленным цветом фона}
SetFillStyle(5,8); {установка стиля заполнения}
Rectangle(290,290, GetMaxX-290, GetMaxy-290); {прямоугольник}
FloodFill(301,230,1); {заполнение прямоугольника выбранным
стилем}
ReadLn;
CloseGraph;
End.
Задача 2. Построить график y=sinx по оси y в диапазоне -100,100 y=100*sinx, 0<x<2pi, длина шага Dx=pi/100.
Program sinus;
uses crt, graph;
var gt, gr: integer;
xm,ym,i: integer;
dx,x1,y1,x2,y2:real;
begin
gt:=detect; initgraph(gt,gr,’’);
xm:=getmaxx div 2;
ym:=getmaxy div 2;
setcolor(3);
line(0,ym-100,0,yn+100); line(0,ym.getmaxx,ym); {построение осей}
outtextxy(100,ym+50,’pi’); {вывод текста рядом с осями}
moveto(0,ym);
dx:=oi/100;
x1:=0;
setcolor(5);
while x1<=200 do begin
y1:=100*sin(x1*dx);
x2:=x1+dx;
y2:=100*sin(x2*dx);
line(round(x1),ym+round(y1),round(x2), ym+round(y2));
x1:=x2;
y1:=y2
end;
readln;
closegraph;
end.