DrawPathEvenOdd
Vektör grafikleri, Yol tanımlama ve çizim
Açıklama
Geçerli yolu çift-tek dolgu kuralıyla, DrawPath tarafından kullanılan sıfır olmayan sarım kuralı yerine boyar. Çift-tek kuralında, bir noktadan çizilen ışın yolu tek sayıda keserse nokta yolun "içinde" kabul edilir — böylece örtüşen alt yollar, alt yol yönünü dikkate almaya gerek kalmadan dolgulu ve dolgusuz bantlar arasında dönüşümlü olur
Sözdizimi
Delphi
Function TPDFlib.DrawPathEvenOdd(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPathEvenOdd(PathOptions As Long) As Long
DLL
int DLDrawPathEvenOdd(int InstanceID, int PathOptions);
Parametreler
| PathOptions | Boyama modu: 0 — Yalnızca dış çizgi 1 — Yalnızca dolgu (çift-tek kuralı) 2 — Dolgu ve dış çizgi |
|---|
Dönüş değerleri
| 0 | Başarısız — PathOptions aralık dışında, açık belge yok veya yol başlatılmamış |
|---|---|
| 1 | Yol başarıyla boyandı |
Açıklamalar
Halka, pul veya daha büyük bir dış çizgide delik açan herhangi bir şekil oluştururken çift-tek kuralını kullanın. DrawPath tarafından kullanılan sıfır olmayan sarım kuralında aynı yapı yalnızca iç alt yol ters yönde çizilirse çalışır; çift-tek kuralında yön önemli değildir
Örnek
// 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