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 — Μόνο περίγραμμα (stroke με τις τρέχουσες ρυθμίσεις γραμμής). 1 — Μόνο γέμισμα (με το τρέχον χρώμα γεμίσματος και τον κανόνα non-zero winding). 2 — Γέμισμα και περίγραμμα |
|---|
Τιμές επιστροφής
| 0 | Αποτυχία — το PathOptions είναι εκτός εύρους, δεν υπάρχει ανοιχτό έγγραφο ή δεν έχει ξεκινήσει καμία διαδρομή |
|---|---|
| 1 | Η διαδρομή σχεδιάστηκε επιτυχώς |
Παρατηρήσεις
Ορίστε χρώματα stroke και fill και τα attributes γραμμής (SetLineWidth, SetLineCap, SetLineDash) πριν καλέσετε το DrawPath. Το τρέχον graphics state δειγματοληπτείται στο σημείο της κλήσης.
Για αλληλεπικαλυπτόμενες ή αυτοτεμνόμενες διαδρομές ο κανόνας non-zero 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