DrawPathEvenOdd

Grafis vektor, Definisi dan penggambaran path

Deskripsi

Mengecat path saat ini memakai aturan fill even-odd alih-alih aturan winding non-zero yang dipakai DrawPath. Dengan aturan even-odd, sebuah titik dianggap "di dalam" path saat sinar yang ditarik darinya melintasi path sebanyak ganjil kali — sub-path yang saling menumpuk karenanya bergantian antara pita terisi dan tidak terisi tanpa perlu memperhatikan arah sub-path

Sintaks

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

Parameter

PathOptionsMode menggambar:

0 — Outline saja.
1 — Fill saja (aturan even-odd).
2 — Fill dan outline

Nilai kembalian

0Gagal — PathOptions di luar rentang, tidak ada dokumen terbuka, atau belum ada path yang dimulai
1Path berhasil digambar

Catatan

Gunakan aturan even-odd saat menyusun bentuk seperti donat, washer, atau figur apa pun yang melubangi outline yang lebih besar. Dengan aturan winding non-zero yang dipakai DrawPath, konstruksi yang sama hanya bekerja jika sub-path dalamnya digambar dengan arah berlawanan; dengan aturan even-odd, arahnya tidak berpengaruh

Contoh

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

Lihat juga

DrawPath, StartPath, AddArcToPath, ClosePath