Вывод отрезка

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.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: