DrawPathEvenOdd

گرافیک برداری، تعریف و ترسیم مسیر

توضیحات

مسیر جاری را با قاعدهٔ پرکردن even-odd به‌جای قاعدهٔ non-zero winding که DrawPath به‌کار می‌برد ترسیم می‌کند. با قاعدهٔ even-odd، نقطه‌ای وقتی "درون" مسیر تلقی می‌شود که پرتوی از آن آغازشده تعداد فردی بار مسیر را قطع کند — پس زیرمسیرهای هم‌پوشان بدون نیاز به توجه جهت زیرمسیر، میان نواری پر و خالی یک‌درمیان می‌شوند

نحو

Delphi

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

ActiveX

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

DLL

int DLDrawPathEvenOdd(int InstanceID, int PathOptions);

پارامترها

PathOptionsحالت ترسیم:

0 — فقط خط دور.
1 — فقط پرکردن (قاعدهٔ even-odd).
2 — پرکردن و خط دور

مقادیر بازگشتی

0ناموفق — PathOptions خارج از محدوده است، هیچ سندی باز نیست یا هیچ pathای آغاز نشده است
1مسیر با موفقیت ترسیم شد

ملاحظات

هنگام ساختن شکل‌هایی مانند دونات، واشر یا هر شکلی که سوراخی در outline بزرگ‌تر ایجاد می‌کند از قاعدهٔ even-odd استفاده کنید. با قاعدهٔ پیچش غیرصفر که DrawPath استفاده می‌کند همان ساخت فقط وقتی کار می‌کند که زیرمسیر داخلی در جهت مخالف رسم شود؛ با قاعدهٔ even-odd جهت مهم نیست

مثال

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

همچنین ببینید

DrawPath, StartPath, AddArcToPath, ClosePath