DrawPath
Vektorgrafik, Bandefinition och ritning
Beskrivning
Målar aktuellt path — byggt av StartPath, AddLineToPath, AddCurveToPath, AddArcToPath och ClosePath — med fyllnadsregeln icke-nolla winding. Efter att pathen målats återställs pathtillståndet, så nästa StartPath påbörjar en färsk form
Syntax
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parametrar
| PathOptions | Ritläge: 0 — Enbart kontur (streck med aktuella linjeinställningar) 1 — Enbart fyllnad (med aktuell fyllnadsfärg och den icke-nolla winding-regeln) 2 — Fyllnad och kontur |
|---|
Returvärden
| 0 | Misslyckades — PathOptions ligger utanför intervallet, inget dokument är öppet, eller ingen path har påbörjats |
|---|---|
| 1 | Pathen ritades utan problem |
Anmärkningar
Sätt kant- och fyllnadsfärger och linjeattributen (SetLineWidth, SetLineCap, SetLineDash) före du anropar DrawPath. Aktuellt grafiktillstånd sampas vid anropsplatsen
För överlappande eller självschnittande pather behandlar den icke-nolla winding-regeln varje sub-path som del av samma region: ett hål ur en större form kräver att den inre sub-pathen vindar i motsatt riktning mot den yttre. När det är opraktiskt, anropa i stället DrawPathEvenOdd — even-odd-regeln alternerar helt enkelt mellan inne och ute vid varje korsning, vilket gör utstansade hål triviala
Exempel
// Filled outlined diamond
PDF.SetStrokeColor(0, 0, 0);
PDF.SetFillColor(0.6, 0.8, 1);
PDF.SetLineWidth(1.5);
PDF.StartPath(150, 100);
PDF.AddLineToPath(200, 150);
PDF.AddLineToPath(150, 200);
PDF.AddLineToPath(100, 150);
PDF.ClosePath;
PDF.DrawPath(2); // 2 = fill and outlineSe även
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth