AddArcToPath
Vector graphics, Path definition and drawing
Description
يضفي قوسا دائريا إلى المسار الحالي؛ يتم رسم القوس حول نقطة المركز (CenterX, CenterY)؛ ويعادل نصف قطره المسافة من المركز إلى النقطة الحالية للمسار، ويمسح بزاوية قدرها TotalAngle درجة؛ النقطة الحالية بعد الاستدعاء هي نقطة نهاية القوس، لذا تستمر استدعاءات AddLineToPath أو AddArcToPath اللاحقة من هناك
Syntax
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);
Parameters
| CenterX | الإحداثي الأفقي لمركز القوس |
|---|---|
| CenterY | الإحداثي الرأسي لمركز القوس |
| TotalAngle | المسح الزاوي بالدرجات؛ تمسح القيم الموجبة في اتجاه عقارب الساعة؛ بينما تمسح القيم السالبة عكس اتجاه عقارب الساعة;يجب أن تكون القيمة غير صفرية;يرسم 360 (أو -360) دائرة كاملة |
Return values
| 0 | فشل — لا يوجد مستند مفتوح، أو لم يتم بدء أي مسار، أو TotalAngle تساوي صفرًا |
|---|---|
| 1 | تم إضافة القوس إلى المسار الحالي |
Remarks
يتم اشتقاق نصف القطر ضمنيا من المسافة بين النقطة الحالية (التي تم تعيينها بواسطة أحدث StartPath أو AddLineToPath أو AddCurveToPath أو AddArcToPath السابقة) والمركز الممرر إلى هذا الاستدعاء؛ ولرسم دائرة كاملة، قم باستدعاء StartPath إلى أي نقطة على محيط الدائرة واستدعِ AddArcToPath مع المركز المطلوب ومسح بقيمة 360
يتم رندر القوس كسلسلة من مقاطع Bézier المكعبة، بدقة تصل إلى حدود تسامح البكسل الفرعي لأحجام صفحات PDF النموذجية
Example
// 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);See also
StartPath, AddLineToPath, AddCurveToPath, AddBoxToPath, DrawPath, DrawPathEvenOdd