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

PathOptionsFesté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

0Sikertelen — a PathOptions értéke tartományon kívül esik, nincs megnyitott dokumentum, vagy nem indult útvonal
1Az ú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

Lásd még

DrawPath, StartPath, AddArcToPath, ClosePath