Скачиваний:
201
Добавлен:
17.06.2016
Размер:
2.69 Mб
Скачать

Circle/3

circle рисует окружность текущим цветом для рисования.

circle(X, Y,Radius) /*(i,i,i)*/

(integer,integer,integer)

Центр окружности находится в точке (X,Y), а радиус задается парамет-

ром Radius.

arc/5

arc рисует дугу окружности текущим цветом для рисования с центром в

точке (X,Y) и с радиусом Radius.

arc(X, Y,StAngle,EndAngle,Radius) /*(i,i,i,i,i)*/

(integer,integer,integer,integer,integer)

Дуга рисуется в секторе углов от StAngle до EndAngle. Если StAngle

равен 0, а EndAngle равен 360, вызов arc нарисует полную окружность. Угол

отсчитывается против часовой стрелки, ноль градусов соответствует трем

часам, 90 градусов - 12-ти часам и т.д.

Getarccoords/6

getarccoords возвращает значения параметров последнего вызова преди-

ката arc.

getarccoords(X, Y,Xstart,Ystart,Xend,Yend) /*(o,o,o,o,o,o)*/

(integer,integer,integer,integer,integer,integer)

Переменные определяют центр (X,Y), начальную (Xstart,Ystart) и ко-

нечную (Xend,Yend) позиции дуги окружности. Эти значения полезны, если

вам необходимо провести линию с началом в одном из концов дуги.

ellipse/6

ellipse проводит дугу эллипса текущим цветом для рисования.

ellipse(X,Y,StAngle,EndAngle,Xradius,Yradius) /*(i,i,i,i,i,i)*/

(integer,integer,integer,integer,integer,integer)

Центр эллипса находится в точке (X,Y), горизонтальная и вертикальная

оси заданы параметрами Xradius и Yradius соответственно. Рисуется часть

эллипса в секторе углов от StAngle до EndAngle. Если StAngle равен 0, а

EndAngle равен 360, то будет нарисован полный эллипс.

fillellipse/4

fillellipse рисует эллипс и заполняет его текущим видом заполнения

текущим цветом заполнения.

fillellpise(X, Y,Xradius,Yradius) /*(i,i,i,i)*/

(integer,integer,integer,integer)

fillellipse рисует и заполняет эллипс, используя точку (X,Y) в ка-

честве центра, а Xradius и Yradius как горизонтальную и вертикальную оси.

Вы можете получить информацию о последнем вызове fillellipse, обратившись

к getarccoords.

pieslice/5

pieslice рисует и заполняет сектор круга с центром в точке (X,Y) и

радиусом Radius.

pieslice(X,Y,StAngle,EndAngle,Radius) /*(i,i,i,i,i)*/

(integer,integer,integer,integer,integer)

Сектор круга закрашивается от StAngle до EndAngle. Рисуется он теку-

щим цветом для рисования и заполняется текущим видом заполнения.

pieslicexy/6

pieslicexy рисует и заполняет сектор эллипса текущим видом заполне-

ния.

pieslicexy(X,Y,StAngle,EndAngle,Xradius,Yradius)/*(i,i,i,i,i,i)*/

(integer,integer,integer,integer,integer,integer)

pieslicexy проводит дугу эллипса в секторе углов от StAngle до

EndAngle с центром в точке (X,Y) и горизонтальным и вертикальным радиуса-

ми Xradius и Yradius соответственно.

getaspectratio/2

getaspectratio возвращает коэффициент сжатия (aspect ratio) для дан-

ного графического режима.

getaspectratio(Xasp,Yasp) /*(o,o)*/

(integer,integer)

setaspectratio/2

setaspectratio позволяет изменить коэффициент сжатия (aspect ratio).

setaspectratio(Xasp,Yasp) /*(i,i)*/

(integer,integer)

Аргументы Xasp и Yasp соответственно новые горизонтальный и верти-

кальный коэффициенты отношения для данного графического режима. Предикат

обычно используется для изменения отношения сторон в случае, когда окруж-

ности получаются на экране овальными.

Пример рисования криволинейных фигур.

/* Program CH17EX02.PRO */

include "GRAPDECL.PRO"

goal

initgraph(detect, 0, GraphDriver, GraphMode, ""),

/* Draw a 90 degree arc with radius of 50 */

arc(150, 150, 0, 89, 50),

/* Get the coordinates of the arc and connect ends */

getarccoords(X, Y, XStart, YStart, XEnd, YEnd),

line(XStart, YStart, XEnd, YEnd),

/* Draw a circle */

circle(150, 150, 100),

/* Draw an ellipse inside the circle */

ellipse(150, 150, 0, 359, 100, 50),

/* Draw and fill a pieslice */

pieslice(100, 100, 0, 135, 49),

pieslice(100, 100, 135, 225, 49),

pieslice(100, 100, 225, 360, 49),

readchar(_),

closegraph.

Соседние файлы в папке Документация