DrawPathEvenOdd

Vektorigrafiikka, polkujen määrittely ja piirto

Kuvaus

Maalaa nykyisen polun pariton-parillinen-täyttösäännöllä funktiota DrawPath käyttämän nollasta poikkeavan kiertosäännön sijaan. Pariton-parillinen-säännöllä piste katsotaan polun "sisäpuolelle", kun siitä piirretty säde leikkaa polun parittoman määrän kertoja — päällekkäiset su

Syntaksi

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parametrit

PathOptionsMaalaustila:

0 — vain reunus
1 — vain täyttö (pariton-parillinen-sääntö)
2 — täyttö ja reunus

Paluuarvot

0Epäonnistui — PathOptions oli sallitun alueen ulkopuolella, mikään asiakirja ei ole avoinna tai polkua ei ole aloitettu
1Polun piirto onnistui

Huomautukset

Käytä pariton-parillinen-sääntöä rakennettaessa muotoja kuten donitseja, renkaita tai mitä tahansa hahmoa, joka lävistää aukon suuremman ääriviivan läpi. Nollasta poikkeavalla kiertosäännöllä, jota DrawPath käyttää, sama rakenne toimii vain, jos sisempi alipolku piirretään vastakkaiseen suuntaan; pariton-parillinen-säännöllä suunnalla ei ole merkitystä

Esimerkki

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

Katso myös

DrawPath, StartPath, AddArcToPath, ClosePath