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

PathOptionsnačin risanja:

0 — samo obroba.
1 — samo polnilo (pravilo sod-ali-li).
2 — polnilo in obroba

Vrnjene vrednosti

0napaka — PathOptions je izven obsega, ni odprtega dokumenta ali pot ni bila začeta
1Pot 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

Glejte tudi

DrawPath, StartPath, AddArcToPath, ClosePath