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