Class Matrix

Matrix class

Αντικαθιστά τον πίνακα GDI+.

public class Matrix

Κατασκευαστές

ΟνομαΠεριγραφή
Matrix()Αρχικοποιεί μια νέα παρουσία της κλάσης Matrix ως μήτρα ταυτότητας.
Matrix(Matrix)Δημιουργεί ένα αντίγραφο τουMatrix τάξη.
Matrix(Rectangle, Point[])Αρχικοποιεί μια νέα παρουσία τουMatrix κλάση στον γεωμετρικό μετασχηματισμό που ορίζεται από το καθορισμένο ορθογώνιο και τον πίνακα σημείων.
Matrix(RectangleF, PointF[])Αρχικοποιεί μια νέα παρουσία τουMatrix κλάση στον γεωμετρικό μετασχηματισμό που ορίζεται από το καθορισμένο ορθογώνιο και τον πίνακα σημείων.
Matrix(float, float, float, float, float, float)Αρχικοποιεί μια νέα παρουσία τουMatrix τάξη.

Ιδιότητες

ΟνομαΠεριγραφή
Elements { get; }Λαμβάνει έναν πίνακα τιμών κινητής υποδιαστολής που αντιπροσωπεύει τα στοιχεία αυτούMatrix .
M11 { get; }Παίρνει το στοιχείο μήτρας στην πρώτη γραμμή πρώτη στήλη. Αντιπροσωπεύει την κλίμακα κατά μήκος του άξονα Χ.
M12 { get; }Παίρνει το στοιχείο μήτρας στην πρώτη σειρά δεύτερη στήλη. Αντιπροσωπεύει διάτμηση κατά μήκος του άξονα Y.
M21 { get; }Παίρνει το στοιχείο μήτρας στη δεύτερη σειρά πρώτη στήλη. Αντιπροσωπεύει διάτμηση κατά μήκος του άξονα Χ.
M22 { get; }Παίρνει το στοιχείο μήτρας στη δεύτερη σειρά δεύτερη στήλη. Αντιπροσωπεύει την κλίμακα κατά μήκος του άξονα Y.
M31 { get; }Παίρνει το στοιχείο μήτρας στην τρίτη σειρά πρώτη στήλη. Αντιπροσωπεύει τη μετάφραση κατά μήκος του άξονα Χ.
M32 { get; }Παίρνει το στοιχείο μήτρας στην τρίτη σειρά πρώτη στήλη. Αντιπροσωπεύει τη μετάφραση κατά μήκος του άξονα Y.

Μέθοδοι

ΟνομαΠεριγραφή
override Equals(object)Καθορίζει εάν το καθορισμένοObject ισούται με αυτήν την περίπτωση.
GetElements()Λαμβάνει το αντίγραφο των στοιχείων πίνακα.
override GetHashCode()Επιστρέφει έναν κωδικό κατακερματισμού για αυτήν την εμφάνιση.
Multiply(Matrix)Πολλαπλασιάζει αυτόν τον πίνακα με τον πίνακα που καθορίζεται στην παράμετρο πίνακα χρησιμοποιώντας (προεπιλογή) σειρά Prepend.
Multiply(Matrix, MatrixOrder)Πολλαπλασιάζει αυτόν τον πίνακα με τον πίνακα που καθορίζεται στην παράμετρο πίνακα και με τη σειρά που καθορίζεται στην παράμετρο σειράς.
Reset()Επαναφέρει αυτόν τον πίνακα ώστε να έχει τα στοιχεία του πίνακα ταυτότητας.
Rotate(float)Εφαρμόζει δεξιόστροφη περιστροφή ενός ποσού που καθορίζεται στην παράμετρο γωνίας, γύρω από την αρχή (μηδέν συντεταγμένες x και y) για αυτόν τον πίνακα με την προεπιλεγμένη σειρά (Prepend).
Rotate(float, MatrixOrder)Εφαρμόζει δεξιόστροφη περιστροφή ενός ποσού που καθορίζεται στην παράμετρο γωνίας, γύρω από την αρχή (μηδέν συντεταγμένες x και y) για αυτόν τον πίνακα με την καθορισμένη σειρά.
RotateAt(float, PointF)Εφαρμόζει δεξιόστροφη περιστροφή γύρω από το καθορισμένο σημείο σε αυτόν τον πίνακα με την προεπιλεγμένη σειρά (Prepend).
RotateAt(float, PointF, MatrixOrder)Εφαρμόζει δεξιόστροφη περιστροφή γύρω από το καθορισμένο σημείο σε αυτόν τον πίνακα με την καθορισμένη σειρά.
Scale(float, float)Εφαρμόζει το καθορισμένο διάνυσμα κλίμακας (scaleX και scaleY) σε αυτόν τον πίνακα χρησιμοποιώντας (προεπιλογή) Prepend order.
Scale(float, float, MatrixOrder)Εφαρμόζει το καθορισμένο διάνυσμα κλίμακας (scaleX και scaleY) σε αυτόMatrix χρησιμοποιώντας την καθορισμένη σειρά.
override ToString()Επιστρέφει αString που αντιπροσωπεύει αυτήν την περίπτωση.
TransformPoints(PointF[])Εφαρμόζει τον γεωμετρικό μετασχηματισμό που αντιπροσωπεύεται από αυτόMatrix σε μια καθορισμένη σειρά σημείων.
Translate(float, float)Εφαρμόζει το καθορισμένο διάνυσμα μετάφρασης σε αυτόMatrix χρησιμοποιώντας (προεπιλογή) εντολή Prepend.
Translate(float, float, MatrixOrder)Εφαρμόζει το καθορισμένο διάνυσμα μετάφρασης σε αυτόν τον πίνακα με την καθορισμένη σειρά.
static Equals(Matrix, Matrix)Καθορίζει εάν δύο πίνακες είναι ίσοι.

Πεδία

ΟνομαΠεριγραφή
const TypeFlipΑυτό το bit σημαίας υποδεικνύει ότι ο μετασχηματισμός που ορίζεται από αυτό το αντικείμενο εκτελεί μια αναστροφή εικόνας κατοπτρισμού γύρω από κάποιον άξονα που αλλάζει το κανονικά δεξιόστροφο σύστημα συντεταγμένων σε ένα σύστημα αριστερόχειρας επιπλέον των μετατροπών που υποδεικνύονται από άλλα bit σημαίας. είναι ένας άξονας όπου ο θετικός άξονας X περιστρέφεται αριστερόστροφα για να επικαλύψει τον θετικό άξονα Y παρόμοια με την κατεύθυνση που καμπυλώνουν τα δάχτυλα στο δεξί σας χέρι όταν κοιτάτε τον αντίχειρά σας. δεξιόστροφα για επικάλυψη του θετικού άξονα Y similar προς την κατεύθυνση που καμπυλώνουν τα δάχτυλα στο αριστερό σας χέρι. Δεν υπάρχει μαθηματικός τρόπος προσδιορισμού της γωνίας του αρχικού μετασχηματισμού αναστροφής ή κατοπτρισμού, καθώς όλες οι γωνίες της αναστροφής είναι πανομοιότυπες, δεδομένης της κατάλληλης προσαρμοστικής περιστροφής. ΣΗΜΕΙΩΣΗ: Το TypeFlip προστέθηκε μετά το GENERAL_TRANSFORM ήταν σε κυκλοφορία public και τα bit σημαίας δεν μπορούσαν πλέον να αναριθμηθούν εύκολα χωρίς να εισαχθεί δυαδική ασυμβατότητα στον εξωτερικό κωδικό.
const TypeGeneralRotationΑυτό το bit σημαίας υποδεικνύει ότι ο μετασχηματισμός που ορίζεται από αυτό το αντικείμενο εκτελεί μια περιστροφή κατά μια αυθαίρετη γωνία επιπλέον των μετατροπών που υποδεικνύονται από άλλα μπιτ σημαίας. Μια περιστροφή αλλάζει τις γωνίες των διανυσμάτων κατά την ίδια ποσότητα ανεξάρτητα από το διάνυσμα και χωρίς αλλαγή του μήκους του διανύσματος. Αυτό το bit flag είναι αμοιβαία αποκλειστικό με το
const TypeGeneralScaleΜια γενική κλίμακα πολλαπλασιάζει το μήκος των διανυσμάτων με διαφορετικά ποσά στις κατευθύνσεις x και y χωρίς να αλλάζει τη γωνία μεταξύ των κάθετων διανυσμάτων. Αυτό το bit σημαίας αποκλείεται αμοιβαία με τη σημαία TypeUniformScale.
const TypeGeneralTransformΑυτή η σταθερά δείχνει ότι ο μετασχηματισμός που ορίζεται από αυτό το αντικείμενο εκτελεί μια αυθαίρετη μετατροπή των συντεταγμένων εισόδου. Εάν αυτός ο μετασχηματισμός μπορεί να ταξινομηθεί με οποιαδήποτε από τις παραπάνω σταθερές, ο τύπος θα είναι είτε ο σταθερός TypeIdentity είτε ο συνδυασμός a της κατάλληλης σημαίας bit για τις διάφορες συντεταγμένες μετατροπές που εκτελεί αυτός ο μετασχηματισμός.
const TypeIdentityΈνας μετασχηματισμός ταυτότητας είναι αυτός στον οποίο οι συντεταγμένες εξόδου είναι πάντα ίδιες με τις συντεταγμένες εισόδου. Εάν αυτός ο μετασχηματισμός είναι κάτι διαφορετικό από τον μετασχηματισμό ταυτότητας, ο τύπος θα είναι είτε η σταθερά GENERAL_TRANSFORM είτε a συνδυασμός των κατάλληλων bits σημαίας για τις διάφορες συντεταγμένες μετατροπές που εκτελεί αυτός ο μετασχηματισμός.
const TypeMaskRotationΑυτή η σταθερά είναι μια μάσκα bit για οποιοδήποτε από τα bit σημαίας περιστροφής.
const TypeMaskScaleΑυτή η σταθερά είναι μια μάσκα bit για οποιοδήποτε από τα bit σημαίας κλίμακας.
const TypeQuadrantRotationΑυτό το bit σημαίας υποδεικνύει ότι ο μετασχηματισμός που ορίζεται από αυτό το αντικείμενο εκτελεί μια περιστροφή τεταρτημορίου κατά κάποιο πολλαπλάσιο των 90 μοιρών σε , καθώς και στις μετατροπές που υποδεικνύονται από άλλα bit σημαίας. του διανύσματος και χωρίς αλλαγή του μήκους του διανύσματος. Αυτό το bit σημαίας αποκλείεται αμοιβαία με τη σημαία TypeGeneralRotation.
const TypeTranslationΜια μετάφραση μετακινεί τις συντεταγμένες κατά ένα σταθερό ποσό σε x και y χωρίς να αλλάζει το μήκος ή τη γωνία των διανυσμάτων.
const TypeUniformScaleΜια ομοιόμορφη κλίμακα πολλαπλασιάζει το μήκος των διανυσμάτων με την ίδια ποσότητα και στις δύο κατευθύνσεις x και y χωρίς να αλλάζει τη γωνία μεταξύ διανυσμάτων. Αυτό το bit σημαίας αποκλείεται αμοιβαία με τη σημαία TypeGeneralScale.

Παρατηρήσεις

Οι περισσότεροι αλγόριθμοι που ελήφθησαν από τα ονόματα του Sun’s Affinetransform.java. Java για τα στοιχεία Matrix που χρησιμοποιούνται εσωτερικά. χάρτη των ονομάτων Java σε. Μετάφραση X m12 M32 Μετάφραση Y

Δείτε επίσης