Система программирования Turbo Pascal

           

Дуги, окружности, эллипсы



Дуги, окружности, эллипсы


Процедура Circle.

Вычерчивает окружность. Заголовок:

Procedure Circle(X,Y: Integer; R: Word);

ЗдесьX, Y- координаты центра; R - радиус в пикселях.

Окружность выводится текущим цветом. Толщина линии устанавливается текущим стилем, вид линии всегда SolidLn (сплошная). Процедура вычерчивает правильную окружность с учетом изменения линейного размера радиуса в зависимости от его направления относительно сторон графического экрана, т.е. с учетом коэффициента GetAspectRatio. В связи с этим параметр R определяет количество пикселей в горизонтальном направлении.

В следующем примере в центре экрана создается окно, постепенно заполняющееся случайными окружностями. Для выхода из программы нажмите на любую клавишу.

Uses Graph, CRT;

var



d,r,e,x,y: Integer; 

begin.

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

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

e := GraphResult; if e <> grOK then

WriteLn(GraphErrorMsg(e)) 

else 

begin

{Создаем окно в центре экрана}

х := GetMaxX div 4;

у := GetMaxY div 4;

Rectangle(х,у,3*х,3*у);

SetViewPort(x+1,y+1,3*x-1,3*y-1,ClipOn);

{Цикл вывода случайных окружностей}

repeat

SetColor(succ(Random(white))); {Случайный цвет} 

SetLineStyle(0,0,2*Random(2)+1); {и стиль линии} 

х := Random(GetMaxX); {Случайное положение} 

у := Random(GetMaxY); {центра окружности} 

Circle(х,у,Random(GetMaxY div 4)); 

until KeyPressed;

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

CloseGraph 

end 

end.



Содержание раздела