AddArcToPath
رسومات المتجهات، تعريف المسارات ورسمها
الوصف
يضيف قوسًا دائريًا إلى المسار الحالي. يُرسم القوس حول نقطة المركز (CenterX, CenterY)؛ ونصف قطره يساوي المسافة من المركز إلى النقطة الحالية للمسار، ويمتد بمقدار TotalAngle درجة. والنقطة الحالية بعد الاستدعاء هي نقطة نهاية القوس، فتتابع استدعاءات AddLineToPath أو AddArcToPath اللاحقة من هناك
الصيغة
Delphi
Function TPDFlib.AddArcToPath(CenterX, CenterY, TotalAngle: Double): Integer;
ActiveX
Function PDFlib::AddArcToPath(CenterX As Double, CenterY As Double, TotalAngle As Double) As Long
DLL
int DLAddArcToPath(int InstanceID, double CenterX, double CenterY, double TotalAngle);
المعاملات
| CenterX | الإحداثي الأفقي لمركز القوس |
|---|---|
| CenterY | الإحداثي الرأسي لمركز القوس |
| TotalAngle | الامتداد الزاوي بالدرجات. وتكتسح القيم الموجبة باتجاه عقارب الساعة؛ وتكتسح السالبة عكسها. ويجب أن تكون القيمة غير صفرية. 360 (أو -360) يرسم دائرة كاملة |
قيم الإرجاع
| 0 | فشل — لا يوجد مستند مفتوح أو لم يبدأ أي مسار أو كان TotalAngle صفرًا |
|---|---|
| 1 | أُضيف القوس إلى المسار الحالي |
ملاحظات
يُشتق نصف القطر ضمنيًا من المسافة بين النقطة الحالية (المضبوطة بأحدث StartPath أو AddLineToPath أو AddCurveToPath أو AddArcToPath سابق) والمركز الممرر إلى هذا الاستدعاء. لرسم دائرة كاملة ابدأ StartPath من أي نقطة على محيط الدائرة واستدعِ AddArcToPath بالمركز المطلوب وامتداد 360
يُرسم القوس كسلسلة مقاطع بيزيه تكعيبية، دقيقًا في حدود تسامح دون بكسل لأحجام صفحات PDF المعتادة
مثال
// A pie slice — straight edge, arc, straight edge back to centre
PDF.SetFillColor(0.7, 0.2, 0.2);
PDF.StartPath(200, 200); // pie centre
PDF.AddLineToPath(280, 200); // out to circle (radius 80, angle 0°)
PDF.AddArcToPath(200, 200, 90); // sweep 90° clockwise
PDF.ClosePath; // back to the centre
PDF.DrawPath(2); // 2 = fill and outline
// A complete circle drawn as a single arc
PDF.StartPath(300, 100);
PDF.AddArcToPath(250, 100, 360);
PDF.ClosePath;
PDF.DrawPath(0);انظر أيضا
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd