Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процедура GetArcCoords



Возвращает координаты трех точек: центра, начала и конца дуги. Заголовок:

Procedure GetArcCoords(var Coords: ArcCoordsType);

Здесь Coords – переменная типа ArcCoordsType, в которой процедура возвращает координаты центра, начала и конца дуги.

Тип ArcCoordsType определен в модуле Graph следующим образом:

type

ArcCoordsType = record

X,Y: Integer; {Координаты центра}

Xstart,Ystart: Integer; {Начало дуги}

Xend,Yend: Integer; {Конец дуги}

end;

Совместное использование процедур Arc и GetArcCoords позволяет вычерчивать сопряжения двух прямых с помощью дуг. Обратите внимание на коррекцию длины радиуса в следующем примере, в котором вычерчивается прямоугольник со скругленными углами.

Uses Graph,CRT;

const

RadX = 50; {Горизонтальный радиус}

lx = 400; {Ширина}

ly = 100; {Высота}

var

d,r,e: Integer;

coo: ArcCoordsType;

x1,y1: Integer;

xa,ya: Word;

RadY: Integer; {Вертикальный радиус}

begin

{Инициируем графику}

d:= Detect; InitGraph(d, r, ' ');

e:= GraphResult; if e <> grOK then

WriteLn(GraphErrorMsg(e))

else

begin

GetAspectRatio(xa,ya); {Получаем отношение сторон}

{Вычисляем вертикальный радиус и положение фигуры с учетом отношения сторон экрана}

RadY:= round (RadX *(xa /ya));

x1:= (GetMaxX-lx) div 2;

y1:= (GetMaxY-2*RadY-ly) div 2;

{Вычерчиваем фигуру}

Line (x1,y1,x1+lx,y1); {Верхняя горизонтальная}

Arc (x1+lx,y1+RadY,0,90,RadX); {Скругление}

GetArcCoords(coo);

with coo do

begin

Line(Xstart,Ystart,Xstart,Ystart+ly);

{Правая вертикальная}

Arc(Xstart-RadX,Ystart+ly,270,0,RadX);

GetArcCoords (coo);

Line(Xstart,Ystart,Xstart-lx,Ystart);

{Нижняя горизонтальная}

Arc(Xstart-lx,Ystart-RadY,180,270,RadX);

GetArcCoords(coo);

Line(Xstart,Ystart,Xstart,Ystart-ly);

Arc(Xstart+RadX,Ystart-ly,90,180,RadX)

end;

if ReadKey=#0 then d:= ord(ReadKey);

CloseGraph

end

end.





Дата публикования: 2014-11-04; Прочитано: 357 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...