DrawPath
Vectorafbeeldingen, paden definiëren en tekenen
Beschrijving
Tekent het huidige pad — opgebouwd met StartPath, AddLineToPath, AddCurveToPath, AddArcToPath en ClosePath — volgens de vulregel non-zero winding. Na het tekenen wordt de padstatus gereset, zodat de volgende StartPath met een verse vorm begint
Syntaxis
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 | Tekenmodus: 0 — Alleen omtrek (strepen met de huidige lijninstellingen) 1 — Alleen vullen (met de huidige vulkleur en de non-zero winding-regel) 2 — Vullen en omtrekken |
|---|
Retourwaarden
| 0 | Mislukt — PathOptions ligt buiten het bereik, er is geen document geopend of er is geen pad gestart. |
|---|---|
| 1 | Het graphics-pad is met succes getekend |
Opmerkingen
Zet de lijn- en vulkleuren en de lijnattributen (SetLineWidth, SetLineCap, SetLineDash) vóórdat je DrawPath aanroept. De huidige graphics state wordt op de aanroeplocatie bemonsterd
Bij overlappende of zichzelf kruisende paden behandelt de non-zero winding-regel elk subpad als deel van dezelfde regio: een gat uit een grotere vorm vereist dat het binnenste subpad tegengesteld aan de buitenkant windt. Is dat onhandig, roep dan in plaats daarvan DrawPathEvenOdd aan — de even-odd-regel wisselt bij elke kruising gewoon tussen binnen en buiten, waardoor uitgestanste gaten triviaal worden
Voorbeeld
// 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 outlineZie ook
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth