DrawPath

Vector graphics, Path definition and drawing

Description

Отрисовывает текущий контур, собранный с помощью StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, и ClosePath, используя правило заливки ненулевого направления обхода; после отрисовки контура его состояние сбрасывается, так что следующий StartPath начинает новую фигуру

Syntax

Delphi

Function TPDFlib.DrawPath(PathOptions: Integer): Integer;

ActiveX

Function PDFlib::DrawPath(PathOptions As Long) As Long

DLL

int DLDrawPath(int InstanceID, int PathOptions);

Parameters

PathOptionsРежим отрисовки:

0 — только контур (обводка с текущими настройками линии).
1 — только заливка (с текущим цветом заливки и правилом ненулевого направления обхода).
2 — заливка и контур

Return values

0Ошибка — PathOptions находится вне диапазона, документ не открыт или контур не был начат
1Контур был успешно отрисован

Remarks

Установите цвета обводки и заливки, а также атрибуты линии (SetLineWidth, SetLineCap, SetLineDash) перед вызовом DrawPath; текущее состояние графики опрашивается в месте вызова

Для перекрывающихся или самопересекающихся контуров правило ненулевого направления обхода (non-zero winding rule) рассматривает каждый подконтур как часть одной и той же области: вырез отверстия из более крупной фигуры требует, чтобы внутренний подконтур шел в направлении, противоположном внешнему; если это неудобно, вызовите вместо этого DrawPathEvenOdd — правило четного-нечетного обхода (even-odd rule) просто чередует внутреннюю и внешнюю стороны при каждом пересечении линий, что делает создание сквозных отверстий тривиальным

Example

// Filled outlined diamond
PDF.SetStrokeColor(0, 0, 0);
PDF.SetFillColor(0.6, 0.8, 1);
PDF.SetLineWidth(1.5);

PDF.StartPath(150, 100);
PDF.AddLineToPath(200, 150);
PDF.AddLineToPath(150, 200);
PDF.AddLineToPath(100, 150);
PDF.ClosePath;
PDF.DrawPath(2);                       // 2 = fill and outline

See also

DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth