DrawPath
גרפיקה וקטורית, הגדרת נתיבים וציור
תיאור
מצייר את הנתיב הנוכחי — שהורכב על ידי StartPath, AddLineToPath, AddCurveToPath, AddArcToPath ו-ClosePath — בשימוש בכלל המילוי non-zero winding. אחרי שהנתיב מצויר מצב הנתיב מתאפס, כך שה-StartPath הבא מתחיל צורה טרייה.
תחביר
Delphi
Function TPDFlib.DrawPath(PathOptions: Integer): Integer;
ActiveX
Function PDFlib::DrawPath(PathOptions As Long) As Long
DLL
int DLDrawPath(int InstanceID, int PathOptions);
פרמטרים
| PathOptions | מצב ציור: 0 — מתאר בלבד (קו לפי הגדרות הקו הנוכחיות). 1 — מילוי בלבד (בצבע המילוי הנוכחי ובכלל ה-winding הלא-אפסי). 2 — מילוי ומתאר. |
|---|
ערכי החזרה
| 0 | נכשל — PathOptions מחוץ לטווח, אין מסמך פתוח או שלא התחיל נתיב |
|---|---|
| 1 | הנתיב צויר בהצלחה |
הערות
הגדירו את צבעי הקו והמילוי ואת מאפייני הקו (SetLineWidth, SetLineCap, SetLineDash) לפני קריאה ל-DrawPath. מצב הגרפיקה הנוכחי נדגם במקום הקריאה.
עבור נתיבים חופפים או חוצי-עצמם כלל ה-winding הלא-אפסי מתייחס לכל תת-נתיב כחלק מאותו אזור: חור שנחתך מצורה גדולה יותר דורש שתת-הנתיב הפנימי יסתובב לכיוון המנוגד לחיצוני. כשזה לא נוח, קראו במקום זאת ל-DrawPathEvenOdd — כלל ה-even-odd פשוט מתחלף בין פנים לחוץ בכל חצייה, מה שהופך חורי הנעצה לטריוויאליים.
דוגמה
// Filled outlined diamond
PDF.SetStrokeColor(0, 0, 0);
PDF.SetFillColor(0.6, 0.8, 1);
PDF.SetLineWidth(1.5);
PDF.StartPath(150, 100);
PDF.AddLineToPath(200, 150);
PDF.AddLineToPath(150, 200);
PDF.AddLineToPath(100, 150);
PDF.ClosePath;
PDF.DrawPath(2); // 2 = fill and outlineראו גם
DrawPathEvenOdd, StartPath, AddLineToPath, AddCurveToPath, AddArcToPath, ClosePath, SetLineWidth