DrawPathEvenOdd

Vektorgrafikk, Banedefinisjon og tegning

Beskrivelse

Maler gjeldende bane med jevn-odd-fyllregelen i stedet for regelen for ikke-null omløp som DrawPath bruker. Med jevn-odd-regelen anser et punkt som "innenfor" banen når en stråle fra det krysser banen et odde antall ganger — overlappende delbaner veksler dermed mellom fylte og ufylte bånd uten å trenge å tenke på delbanens retning

Syntaks

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parametere

PathOptionsTegnemodus:

0 — Bare kontur.
1 — Bare fyll (even-odd-regelen).
2 — Fyll og kontur

Returverdier

0Feilet — PathOptions er utenfor gyldig område, ingen dokument er åpent, eller ingen bane er startet
1Banen ble tegnet

Merknader

Bruk jevn-odd-regelen når du bygger former som doughnuts, ringer eller enhver figur som slår et hull i et større omriss. Med ikke-null-omløpsregelen som DrawPath bruker, fungerer samme konstruksjon bare hvis den indre delbanen tegnes i motsatt retning; med jevn-odd-regelen spiller retningen ingen rolle

Eksempel

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

Se også

DrawPath, StartPath, AddArcToPath, ClosePath