DrawPath
Vector graphics, Path definition and drawing
Description
Zeichnet den aktuellen Pfad — zusammengestellt durch StartPath, AddLineToPath, AddCurveToPath, AddArcToPath und ClosePath — unter Verwendung der Füllregel Non-Zero Winding; nachdem der Pfad gezeichnet wurde, wird der Pfadzustand zurückgesetzt, sodass das nächste StartPath mit einer neuen Form beginnt
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 | Zeichenmodus: 0 — Nur Umriss (Strich mit den aktuellen Linieneinstellungen) 1 — Nur Füllung (mit der aktuellen Füllfarbe und der Non-Zero-Winding-Regel) 2 — Füllung und Umriss |
|---|
Return values
| 0 | Fehlgeschlagen — PathOptions liegt außerhalb des Bereichs, es ist kein Dokument geöffnet oder es wurde kein Pfad gestartet |
|---|---|
| 1 | Der Pfad wurde erfolgreich gezeichnet |
Remarks
Legen Sie die Strich- und Füllfarben sowie die Linienattribute (SetLineWidth, SetLineCap, SetLineDash) vor dem Aufruf von DrawPath fest; der aktuelle Grafikzustand wird an der Aufrufstelle abgetastet
Bei überlappenden oder sich selbst schneidenden Pfaden behandelt die Non-Zero-Winding-Regel jeden Teilpfad als Teil derselben Region: ein aus einer größeren Form ausgeschnittenes Loch erfordert, dass sich der innere Teilpfad in der entgegengesetzten Richtung zum äußeren windet — wenn dies unpraktisch ist, rufen Sie stattdessen DrawPathEvenOdd auf, da die Even-Odd-Regel bei jedem Durchgang einfach zwischen innen und außen abwechselt, was ausgestanzte Löcher trivial macht
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