DrawPathEvenOdd
Grafica vettoriale, definizione e disegno dei tracciati
Descrizione
Dipinge il tracciato con la regola even-odd anziché non-zero di DrawPath. Un punto è "inside" se un raggio attraversa il tracciato un numero dispari di volte — i sottotracciati alternano riempimento senza considerarne la direzione
Sintassi
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 | Modalità di disegno: 0 — Solo contorno. 1 — Solo riempimento (regola pari-dispari). 2 — Riempimento e contorno. |
|---|
Valori restituiti
| 0 | Operazione non riuscita — PathOptions fuori intervallo, nessun documento aperto o nessun tracciato avviato |
|---|---|
| 1 | Il tracciato è stato disegnato correttamente |
Note
Usare la regola pari-dispari per costruire forme come anelli, rondelle o qualsiasi figura che pratichi un foro in un contorno più grande. Con la regola di avvolgimento diverso da zero usata da DrawPath, la stessa costruzione funziona solo se il sottotracciato interno viene disegnato nella direzione opposta; con la regola pari-dispari la direzione è irrilevante
Esempio
// 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