DrawPath
Grafis vektor, Definisi dan penggambaran path
Deskripsi
Mengecat path saat ini — yang dirakit oleh StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, dan ClosePath — memakai aturan fill winding non-zero. Setelah path diecat, state path direset sehingga StartPath berikutnya memulai bentuk segar
Sintaks
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parameter
| PathOptions | Mode menggambar: 0 — Outline saja (stroke dengan setting garis saat ini). 1 — Fill saja (dengan warna fill saat ini dan aturan winding non-zero). 2 — Fill dan outline |
|---|
Nilai kembalian
| 0 | Gagal — PathOptions di luar rentang, tidak ada dokumen terbuka, atau belum ada path yang dimulai |
|---|---|
| 1 | Path berhasil digambar |
Catatan
Set warna stroke dan fill beserta attribute garisnya (SetLineWidth, SetLineCap, SetLineDash) sebelum memanggil DrawPath. Graphics state saat ini di-sample di lokasi panggilan
Untuk path yang saling menumpuk atau memotong dirinya sendiri, aturan winding non-zero memperlakukan setiap sub-path sebagai bagian region yang sama: lubang yang dipotong dari bentuk lebih besar menuntut sub-path dalamnya berwinding berlawanan dengan yang luar. Bila itu merepotkan, panggil DrawPathEvenOdd sebagai gantinya — aturan even-odd cukup bergantian antara sisi dalam dan luar di setiap persilangan, yang membuat lubang tembus jadi sepele
Contoh
// 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 outlineLihat juga
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth