DrawPath
Vector graphics, Path definition and drawing
Description
يقوم بتلوين المسار الحالي — المجمع بواسطة StartPath، وAddLineToPath، وAddCurveToPath، وAddArcToPath، وClosePath — باستخدام قاعدة التعبئة non-zero winding؛ بعد تلوين المسار، يتم إعادة تعيين حالة المسار، بحيث يبدأ استدعاء StartPath التالي شكلاً جديدًا
Syntax
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
Parameters
| PathOptions | وضع التلوين: 0 — المخطط التفصيلي فقط (الرسم بإعدادات الخط الحالية) 1 — التعبئة فقط (مع لون التعبئة الحالي وقاعدة الالتفاف غير الصفرية) 2 — التعبئة والمخطط التفصيلي |
|---|
Return values
| 0 | فشل — PathOptions خارج النطاق، أو لا يوجد مستند مفتوح، أو لم يتم بدء أي مسار |
|---|---|
| 1 | تم رسم المسار بنجاح |
Remarks
اضبط ألوان الحدود والتعبئة وسمات الخط (SetLineWidth، SetLineCap، SetLineDash) قبل استدعاء DrawPath؛ يتم أخذ عينات من حالة الرسومات الحالية عند موقع الاستدعاء
بالنسبة للمسارات المتداخلة أو ذات التقاطع الذاتي، تعامل قاعدة الالتفاف غير الصفرية كل مسار فرعي كجزء من المنطقة نفسها: يتطلب وجود ثقب مقطوع من شكل أكبر أن يلتف المسار الفرعي الداخلي في الاتجاه المعاكس للمسار الخارجي؛ وعندما يكون ذلك غير مناسب، استدعِ DrawPathEvenOdd بدلاً من ذلك — حيث تتناوب قاعدة الزوجي والفردي ببساطة بين الداخل والخارج عند كل تقاطع، مما يجعل إحداث ثقوب التفريغ أمراً بسيطاً
Example
// 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 outlineSee also
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth