DrawPath
Vektorgrafika, útvonalmeghatározás és rajzolás
Leírás
Az StartPath, AddLineToPath, AddCurveToPath, AddArcToPath és ClosePath által összeállított aktuális útvonalat a nem nulla kitöltési szabállyal festi ki. Az útvonal kifestése után az útvonal állapota alaphelyzetbe áll, ezért a következő StartPath új alakzatot kezd
Szintaxis
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Paraméterek
| PathOptions | Festési mód: 0 — Csak körvonal (rajzolás az aktuális vonalbeállításokkal). 1 — Csak kitöltés (az aktuális kitöltőszínnel és a nem nulla tekeredési szabállyal). 2 — Kitöltés és körvonal |
|---|
Visszatérési értékek
| 0 | Sikertelen — a PathOptions értéke tartományon kívül esik, nincs megnyitott dokumentum, vagy nem indult útvonal |
|---|---|
| 1 | Az útvonal kirajzolása sikerült |
Megjegyzések
Állítsa be a körvonal- és kitöltőszíneket, valamint a vonalattribútumokat (SetLineWidth, SetLineCap, SetLineDash) a DrawPath hívása előtt. Az aktuális grafikai állapot a hívás helyén kerül mintavételezésre
Átfedő vagy önmetsző útvonalaknál a nem nulla kitöltési szabály minden részútvonalat ugyanazon régió részeként kezel: egy nagyobb alakzatból kivágott lyukhoz a belső részútvonalnak a külsővel ellentétes irányban kell futnia. Ha ez kényelmetlen, hívja inkább a DrawPathEvenOdd függvényt — a páros-páratlan szabály minden metszésnél egyszerűen váltakoztat a belső és külső között, így a kivágott lyukak létrehozása triviális
Példa
// 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 outlineLásd még
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth