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

Процедура FillPoly



Обводит линией и закрашивает замкнутый многоугольник. Заголовок:

Procedure FillPoly(N: Word; var Coords);

Здесь N – количество вершин замкнутого многоугольника; Coords – переменная типа PointType, содержащая координаты вершин.

Координаты вершин задаются парой значений типа Integer: первое определяет горизонтальную, второе вертикальную координаты. Для них можно использовать следующий определенный в модуле тип:

type

PointType = record

х, у: Integer

end;

Стиль и цвет линии контура задаются процедурами SetLineStyle и SetColor, тип и цвет заливки – процедурой SetFillStyle.

В следующем примере на экран выводятся случайные закрашенные многоугольники.

Uses Graph, CRT;

var

d, r, e: Integer;

p: array [1..6] of PointType; n, k: Word;

begin

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

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

e:= GraphResult; if e <> grOk then

WriteLn(GraphErrorMsg(e))

else

begin

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

d:= GetMaxX div 4;

r:= GetMaxY div 4;

Rectangle(d,r,3*d,3*r);

SetViewPort(d+l,r+l,3*d-l,3*r-l,ClipOn);

{Цикл вывода случайных закрашенных многоугольников}

repeat

{Выбираем случайный цвет и узор)

SetFillStyle(Random(12),Random(succ(GetMaxColor)));

SetColor (Random(succ(GetMaxColor)));

{Назначаем случайные координаты}

n:= Random (4) + 3; for k:= 1 to n do with p[k] do

begin

x:= Random (GetMaxX div 2);

у:= Random (GetMaxY div 2)

end;

FillPoly (n, p) {Выводим и закрашиваем}

until KeyPressed;

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

CloseGraph

end

end.





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



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