DrawPathEvenOdd
Vektorinė grafika, kelio apibrėžimas ir braižymas
Aprašymas
Nupiešia dabartinį kelią naudodama lyginio-nelyginio užpildymo taisyklę vietoj nulinio vijimo taisyklės, kurios naudoja DrawPath. Su lyginio-nelyginio taisykle taškas laikomas "viduje" kelio, kada nuo jo nubrėžtas spindulys kerta kelią nelyginį kartų skaičių – persidengiantys pakeliai todėl kaitaliojasi tarp užpildytų ir neužpildytų juostų, nevertinant pakelio krypties.
Sintaksė
Delphi
Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long
DLL
int DLDrawPathEvenOdd(int InstanceID, int PathOptions);
Parametrai
| PathOptions | Piešimo režimas: 0 — tik kontūras. 1 — tik užpildymas (nelyginumo-lyginumo taisyklė). 2 — užpildymas ir kontūras |
|---|
Grąžinamos reikšmės
| 0 | Failed — PathOptions is out of range, no document is open, or no path has been started. |
|---|---|
| 1 | Kelias nupieštas sėkmingai |
Pastabos
Naudokite nelyginumo-lyginumo taisyklę statydami figūras, tokias kaip spurgos, poveržlės arba bet kokia figūra, išpjaunanti skylę pro didesnįjį kontūrą. Su nenulinejo apvyniojimo taisykle, kurią naudoja DrawPath, tas pats statymas veikia tik tada, kai vidinis po-kelis piešiamas priešinga kryptimi; su nelyginumo-lyginumo taisykle kryptis nesvarbi
Pavyzdys
// 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