DrawPathEvenOdd

Vector graphics, Path definition and drawing

Description

Disegna il tracciato corrente utilizando la regola di riempimento pari-dispari anziché la regola del numero di giri diverso da zero utilizzata da DrawPath; con la regola pari-dispari, un punto è considerato "interno" al tracciato quando una linea tracciata a partire da esso attraversa il tracciato un numero dispari di volte — i sotto-tracciati sovrapposti si alternano quindi tra bande riempite e non riempite senza dover considerare la direzione del sotto-tracciato

Syntax

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parameters

PathOptionsModalità di disegno:

0 — Solo contorno.
1 — Solo riempimento (regola pari-dispari).
2 — Riempimento e contorno

Return values

0Non riuscito — PathOptions è fuori intervallo, nessun documento è aperto o nessun tracciato è stato iniziato
1Il percorso è stato disegnato con successo

Remarks

Usare la regola even-odd durante la costruzione di forme come ciambelle, rondelle o qualsiasi figura che pratichi un foro attraverso una struttura più grande; con la regola non-zero winding usata da DrawPath la stessa costruzione funziona solo se il sottopercorso interno è disegnato nella direzione opposta; con la regola even-odd la direzione non ha importanza

Example

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

See also

DrawPath, StartPath, AddArcToPath, ClosePath