DrawPathEvenOdd

Vektorová grafika, Definícia ciest a kreslenie

Opis

Kreslí aktuálny path s pravidlom výplne even-odd namiesto pravidla non-zero winding použitého v DrawPath. Pri pravidle even-odd je bod považovaný "vnútri" pathu, keď lúč z neho vedený pretnie path nepárny počet krát — prekrývajúce sa sub-pathy sa preto striedajú medzi vyplnenými a nevyplnenými pásmami bez potreby brať do úvahy smer sub-pathu.

Syntax

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parametre

PathOptionsRežim vykresľovania:

0 — Iba obrys.
1 — Iba výplň (pravidlo even-odd).
2 — Výplň a obrys.

Návratové hodnoty

0Failed — PathOptions is out of range, no document is open, or no path has been started.
1Cesta sa úspešne vykreslila.

Poznámky

Pravidlo pár-nejpár použite pri stavbe tvarov ako donuty, podložky či akejkoľvek figúry, ktorá prepichne dieru väčším obrysom. Pri pravidle nenulového obehu, ktoré používa DrawPath, funguje rovnaká stavba len vtedy, keď sa vnútorná podcesta kreslí opačným smerom; pri pravidle pár-nejpár smer nezáleží.

Príklad

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

Pozri tiež

DrawPath, StartPath, AddArcToPath, ClosePath