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 מעלות.
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