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 outlineSee also
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth