DrawPathEvenOdd
Vektorgrafika, útvonalmeghatározás és rajzolás
Leírás
Az aktuális útvonalat az páros-páratlan kitöltési szabállyal rajzolja ki a DrawPath által használt nem nulla körbefutási szabály helyett. A páros-páratlan szabály szerint egy pont akkor tekintendő "belsejében" lévőnek, ha az abból húzott sugár páratlan alkalommal metszi az útvonalat — így az átfedő részútvonalak váltakozva kitöltött és kitöltetlen sávokat alkotnak anélkül, hogy a részútvonal irányát figyelembe kellene venni
Szintaxis
Delphi
Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long
DLL
int DLDrawPathEvenOdd(int InstanceID, int PathOptions);
Paraméterek
| PathOptions | Festési mód: 0 — Csak körvonal 1 — Csak kitöltés (páros-páratlan szabály) 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
Használja a páros-páratlan szabályt fánkokhoz, alátétekhez vagy bármely olyan alakzathoz, amely lyukat üt egy nagyobb körvonalon át. Az DrawPath által használt nem nulla tekercselési szabállyal ugyanez csak akkor működik, ha a belső részútvonalat ellenkező irányban rajzolják; a páros-páratlan szabálynál az irány nem számít
Példa
// A filled square with a circular hole cut through it (donut)
PDF.SetFillColor(0, 0.4, 0.7);
PDF.StartPath(100, 100);
PDF.AddLineToPath(200, 100);
PDF.AddLineToPath(200, 200);
PDF.AddLineToPath(100, 200);
PDF.ClosePath;
// Inner circle — direction does not matter under even-odd
PDF.StartPath(170, 150); // start on the right side of the circle
PDF.AddArcToPath(150, 150, 360); // centre (150, 150), full revolution
PDF.ClosePath;
PDF.DrawPathEvenOdd(1); // 1 = fill