DrawPathEvenOdd

Vektorgrafik, stidefinition og tegning

Beskrivelse

Optegner den aktuelle sti ved hjælp af fyldreglen lige-ulige i stedet for reglen om viklingstal forskelligt fra nul, som bruges af DrawPath. Med lige-ulige-reglen betragtes et punkt som værende "inden for" stien, når en stråle fra punktet krydser stien et ulige antal gange — overlappende delstier skifter derfor mellem udfyldte og ikke-udfyldte bånd, uden at delstiernes retning skal tages i betragtning.

Syntaks

Delphi

Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;

ActiveX

Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parametre

PathOptionsOptegningstilstand:

0 — Kun kontur.
1 — Kun fyld (lige-ulige-regel).
2 — Fyld og kontur.

Returværdier

0Mislykkedes — PathOptions ligger uden for intervallet, intet dokument er åbent, eller ingen sti er startet
1Stien blev optegnet.

Bemærkninger

Brug lige-ulige-reglen ved konstruktion af former som ringe, skiver eller enhver figur, der udstanser et hul i en større kontur. Med reglen om viklingstal forskelligt fra nul, som bruges af DrawPath, fungerer den samme konstruktion kun, hvis den indre delsti tegnes i modsat retning; med lige-ulige-reglen er retningen ligegyldig.

Eksempel

// 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

Se også

DrawPath, StartPath, AddArcToPath, ClosePath