DrawPathEvenOdd
Vektorska grafika, definiranje in risanje poti
Opis
Trenutno pot nariše s pravilom polnila sod-ali-li namesto pravila ne-ničelnega ovoja, ki ga uporablja DrawPath. Pri pravilu sod-ali-li se točka šteje za »znotraj« poti, ko žarek, izvoden iz nje, pot preseče liho število krat — prekrivajoče se podpoti se zato izmenjujejo med polnjenimi in ne polnjenimi pasovi, brez da bi upoštevali smer podpoti
Sintaksa
Delphi
Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long
DLL
int DLDrawPathEvenOdd(int InstanceID, int PathOptions);
Parametri
| PathOptions | način risanja: 0 — samo obroba. 1 — samo polnilo (pravilo sod-ali-li). 2 — polnilo in obroba |
|---|
Vrnjene vrednosti
| 0 | napaka — PathOptions je izven obsega, ni odprtega dokumenta ali pot ni bila začeta |
|---|---|
| 1 | Pot je bila uspešno narisana |
Opombe
Pravilo sodo-liho uporabite pri sestavljanju oblik, kot so savržki, podložke ali katera koli figura, ki prebije luknjo skozi večji oris. Z pravilom neničelnega ovoja, ki ga uporablja DrawPath, enaka konstrukcija deluje le, če je notranja podpot narisana v nasprotni smeri; s pravilom sodo-liho smer ni pomembna
Primer
// 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