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 | مختصات عمودی مرکز arc |
| TotalAngle | sweep زاویهای برحسب درجه. مقدارهای مثبت در جهت ساعتگرد و مقدارهای منفی در خلاف جهت ساعتگرد sweep میکنند. مقدار نباید صفر باشد. 360 (یا -360) یک دایره کامل ترسیم میکند |
مقادیر بازگشتی
| 0 | ناموفق بود — سندی باز نیست، مسیری شروع نشده یا TotalAngle صفر است |
|---|---|
| 1 | کمان به مسیر جاری اضافه شد |
ملاحظات
شعاع بهطور ضمنی از فاصلهٔ بین نقطهٔ فعلی (تنظیمشده توسط آخرین StartPath، AddLineToPath، AddCurveToPath یا AddArcToPath قبلی) و مرکز پاسدادهشده به این فراخوانی استخراج میشود. برای رسم دایرهٔ کامل، با StartPath به نقطهای روی محیط دایره بروید و AddArcToPath را با مرکز دلخواه و چرخش 360 درجه فراخوانی کنید
The arc is rendered as a chain of cubic Bézier segments, accurate to within sub-pixel tolerance for typical PDF page sizes.
مثال
// 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