DrawPath
Vektorová grafika, Definícia ciest a kreslenie
Opis
Kreslí aktuálny path — zložený z StartPath, AddLineToPath, AddCurveToPath, AddArcToPath a ClosePath — s pravidlom výplne non-zero winding. Po vykreslení pathu sa stav pathu resetuje, takže ďalší StartPath začína nový tvar.
Syntax
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parametre
| PathOptions | Režim vykresľovania: 0 — Iba obrys (obrajsovanie s aktuálnymi nastaveniami čiar). 1 — Iba výplň (s aktuálnou farbou výplne a pravidlom non-zero winding). 2 — Výplň a obrys. |
|---|
Návratové hodnoty
| 0 | Failed — PathOptions is out of range, no document is open, or no path has been started. |
|---|---|
| 1 | Cesta sa úspešne vykreslila. |
Poznámky
Farby ťahu a výplne a atribúty čiar (SetLineWidth, SetLineCap, SetLineDash) nastavte pred volaním DrawPath. Aktuálny grafický stav sa vzorkuje na mieste volania.
Pri prekrývajúcich sa alebo seba pretínajúcich pathoch zaobchádza pravidlo non-zero winding s každým sub-pathom ako s časťou tej istej oblasti: diera vyrezaná z väčšieho tvaru vyžaduje, aby sa vnútorný sub-path otáčal opačným smerom ako vonkajší. Ak je to nepraktické, zavolajte namiesto toho DrawPathEvenOdd — pravidlo even-odd sa pri každom pretnutí jednoducho strieda medzi vnútrom a vonkajškom, čo robí vyrezávanie dier triviálnym.
Príklad
// 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 outlinePozri tiež
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth