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
TotalAnglesweep زاویه‌ای برحسب درجه. مقدارهای مثبت در جهت ساعت‌گرد و مقدارهای منفی در خلاف جهت ساعت‌گرد 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