Процедура FillPoly

Модуль GRAPH

Рисует закрашенный многоугольник, используя преобразователь сканирования.

Объявление:

Procedure FillPoly(NumPoints : Word; Var PolyPoints);

Режим:

Protected,  Real

Замечание:

Параметр PolyPoints -нетипизированный параметр, который содержит координаты точек, образующих многоугольник. NumPoints содержит число координат в PolyPoints. Каждый компонент PolyPoints состоит из двух значений типа Word - X и Y. Заметьте, что для рисования замкнутой фигуры с N гранями, в параметре PolyPoints должно содержаться N+1 компонентов (координаты начальной и конечной точек должны совпадать). Процедура FillPoly вычисляет все горизонтальные пересечения, а затем закрашивает многоугольник, используя текущий стиль и цвет закраски, определенные с помощью процедур SetFillStyle и SetFillPattern. Контур многоугольника выделяется текущим цветом и типом линии, установленными при обращении к процедурам SetLineStyle и SetColor. Если при заполнение многоугольника происходит ошибка, то в переменной GraphResult возвращается значение grNoScanMem.

Ограничения:

Нужно быть в графическом режиме.

Пример:

{ Пример программы для процедуры FillPoly }

Uses Graph;

Const Triangle : Array [1..3] Of PointType = ((X:  50; Y: 100),
                                              (X: 100; Y: 100),
                                              (X: 150; Y: 150));
Var Gd, Gm : Integer;

Begin
 Gd:=Detect;
 InitGraph(Gd, Gm, '');
 If GraphResult <> grOk Then Halt(1);
 FillPoly(SizeOf(Triangle) Div SizeOf(PointType), Triangle);
 ReadLn;
 CloseGraph;
End.