DrawPath
گرافیک برداری، تعریف و ترسیم مسیر
توضیحات
مسیر جاری — که با StartPath، AddLineToPath، AddCurveToPath، AddArcToPath و ClosePath سرهم شده — را با قاعدهٔ پرکردن non-zero winding ترسیم میکند. پس از ترسیم مسیر، وضعیت مسیر بازنشانی میشود تا StartPath بعدی شکل تازهای آغاز کند
نحو
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
پارامترها
| PathOptions | حالت ترسیم: 0 — فقط خط دور (stroke با تنظیمات فعلی خط). 1 — فقط پرکردن (با رنگ پرکردن فعلی و قاعدهٔ non-zero winding). 2 — پرکردن و خط دور |
|---|
مقادیر بازگشتی
| 0 | ناموفق — PathOptions خارج از محدوده است، هیچ سندی باز نیست یا هیچ pathای آغاز نشده است |
|---|---|
| 1 | مسیر با موفقیت ترسیم شد |
ملاحظات
رنگهای خط و پرکننده و ویژگیهای خط (SetLineWidth، SetLineCap، SetLineDash) را قبل از فراخوانی DrawPath تنظیم کنید. وضعیت گرافیکی فعلی در محل فراخوانی نمونهبرداری میشود
در مسیرهای همپوشان یا خودمتقاطع، قاعدهٔ non-zero winding هر زیرمسیر را بخشی از همان ناحیه میگیرد: سوراخی که از شکل بزرگتری بریده میشود لازم دارد زیرمسیر داخلی در جهت مخالف زیرمسیر بیرونی بپیچد. وقتی این نامساعد است، بهجایش DrawPathEvenOdd را فراخوانی کنید — قاعدهٔ even-odd در هر تقاطع بهسادگی میان درون و بیرون یکدرمیان میرود و سوراخکاری را پیشپاافتاده میکند
مثال
// 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 outlineهمچنین ببینید
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth