DrawPath
Grafika wektorowa, Definiowanie i rysowanie ścieżek
Opis
Maluje bieżącą ścieżkę — złożoną przez StartPath, AddLineToPath, AddCurveToPath, AddArcToPath i ClosePath — przy użyciu reguły wypełniania niezerowej liczby nawinięć. Po namalowaniu ścieżki jej stan jest resetowany, więc następne StartPath rozpoczyna nowy kształt
Składnia
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parametry
| PathOptions | Tryb malowania: 0 — Tylko obrys (rysowany przy użyciu bieżących ustawień linii) 1 — Tylko wypełnienie (bieżącym kolorem wypełnienia i według reguły niezerowej liczby nawinięć) 2 — Wypełnienie i obrys |
|---|
Wartości zwracane
| 0 | Niepowodzenie — PathOptions znajduje się poza zakresem, żaden dokument nie jest otwarty albo nie rozpoczęto ścieżki |
|---|---|
| 1 | Ścieżka została pomyślnie namalowana |
Uwagi
Ustaw kolory obrysu i wypełnienia oraz atrybuty linii (SetLineWidth, SetLineCap, SetLineDash) przed wywołaniem DrawPath. Bieżący stan grafiki jest próbkowany w miejscu wywołania
W przypadku nakładających się lub samoprzecinających ścieżek reguła niezerowej liczby nawinięć traktuje każdą podścieżkę jako część tego samego obszaru: otwór wycięty w większym kształcie wymaga, aby wewnętrzna podścieżka miała kierunek przeciwny do zewnętrznej. Gdy jest to niewygodne, wywołaj zamiast niej DrawPathEvenOdd — reguła parzystości po prostu przełącza stan wnętrza i zewnętrza przy każdym przecięciu, dzięki czemu wycinanie otworów jest proste
Przykład
// 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 outlineZobacz również
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth