DrawPath
Vector graphics, Path definition and drawing
Description
Maluje bieżącą ścieżkę — zmontowaną przez StartPath, AddLineToPath, AddCurveToPath, AddArcToPath oraz ClosePath — przy użyciu reguły wypełnienia non-zero winding; po pomalowaniu ścieżki jej stan zostaje zresetowany, więc następne wywołanie StartPath rozpoczyna nowy kształt
Syntax
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parameters
| PathOptions | Tryb malowania: 0 — Tylko kontur (obrys z bieżącymi ustawieniami linii); 1 — Tylko wypełnienie (z bieżącym kolorem wypełnienia i regułą niezerowego nawijania non-zero winding); 2 — Wypełnienie i kontur |
|---|
Return values
| 0 | Niepowodzenie — PathOptions jest poza zakresem, żaden dokument nie jest otwarty lub nie rozpoczęto ścieżki |
|---|---|
| 1 | The path was painted successfully. |
Remarks
Ustaw kolory obrysu i wypełnienia oraz atrybuty linii (SetLineWidth, SetLineCap, SetLineDash) przed wywołaniem DrawPath; bieżący stan grafiki jest pobierany w miejscu wywołania
W przypadku ścieżek nakładających się lub przecinających się reguła non-zero winding traktuje każdą podścieżkę jako część tego samego regionu: wycięcie otworu w większym kształcie wymaga, aby wewnętrzna podścieżka biegła w kierunku przeciwnym do zewnętrznej; gdy jest to niedogodne, wywołaj zamiast tego DrawPathEvenOdd — reguła even-odd po prostu przełącza się naprzemiennie między wnętrzem a zewnętrzem przy każdym przecięciu, co sprawia, że tworzenie otworów staje się trywialne
Example
// 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 outlineSee also
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth