DrawPath
Vector graphics, Path definition and drawing
Description
Paints the current path — assembled by StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, and ClosePath — using the non-zero winding fill rule. After the path is painted the path state is reset, so the next StartPath begins a fresh shape.
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 | Painting mode: 0 — Outline only (stroke with the current line settings). 1 — Fill only (with the current fill color and the non-zero winding rule). 2 — Fill and outline. |
|---|
Return values
| 0 | Failed — PathOptions is out of range, no document is open, or no path has been started. |
|---|---|
| 1 | Het pad is succesvol getekend |
Remarks
Stel de streek- en vulkleuren en de lijnattributen (SetLineWidth, SetLineCap, SetLineDash) in voordat u DrawPath aanroept; de huidige grafische toestand wordt bemonsterd op de plaats van de aanroep
For overlapping or self-intersecting paths the non-zero winding rule treats every sub-path as part of the same region: a hole cut from a larger shape requires the inner sub-path to wind in the opposite direction to the outer. When that is inconvenient, call DrawPathEvenOdd instead — the even-odd rule simply alternates between inside and outside on each crossing, which makes punch-out holes trivial.
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