Matrix

Matrix class

Sostituisce la matrice GDI+.

public class Matrix

Costruttori

NomeDescrizione
Matrix()Inizializza una nuova istanza della classe Matrix come matrice di identità.
Matrix(Matrix)Crea una copia diMatrix classe.
Matrix(Rectangle, Point[])Inizializza una nuova istanza diMatrix classe alla trasformazione geometrica definita dal rettangolo e dall’array di punti specificati.
Matrix(RectangleF, PointF[])Inizializza una nuova istanza diMatrix classe alla trasformazione geometrica definita dal rettangolo e dall’array di punti specificati.
Matrix(float, float, float, float, float, float)Inizializza una nuova istanza diMatrix classe.

Proprietà

NomeDescrizione
Elements { get; }Ottiene una matrice di valori a virgola mobile che rappresenta gli elementi di questoMatrix .
M11 { get; }Ottiene l’elemento della matrice nella prima riga e prima colonna. Rappresenta la scala lungo l’asse X.
M12 { get; }Ottiene l’elemento della matrice nella prima riga nella seconda colonna. Rappresenta il taglio lungo l’asse Y.
M21 { get; }Ottiene l’elemento della matrice nella prima colonna della seconda riga. Rappresenta il taglio lungo l’asse X.
M22 { get; }Ottiene l’elemento della matrice nella seconda riga della seconda colonna. Rappresenta la scala lungo l’asse Y.
M31 { get; }Ottiene l’elemento della matrice alla terza riga prima colonna. Rappresenta la traslazione lungo l’asse X.
M32 { get; }Ottiene l’elemento della matrice alla terza riga prima colonna. Rappresenta la traslazione lungo l’asse Y.

Metodi

NomeDescrizione
override Equals(object)Determina se è specificatoObject è uguale a questa istanza.
GetElements()Ottiene la copia degli elementi della matrice.
override GetHashCode()Restituisce un codice hash per questa istanza.
Multiply(Matrix)Moltiplica questa matrice per la matrice specificata nel parametro della matrice utilizzando (predefinito) Ordine antepone.
Multiply(Matrix, MatrixOrder)Moltiplica questa matrice per la matrice specificata nel parametro matrix e nell’ordine specificato nel parametro order.
Reset()Reimposta questa matrice per avere gli elementi della matrice di identità.
Rotate(float)Applica una rotazione in senso orario di un importo specificato nel parametro dell’angolo, attorno all’origine (coordinate xey zero) per questa matrice nell’ordine predefinito (Anteprima).
Rotate(float, MatrixOrder)Applica una rotazione in senso orario di un importo specificato nel parametro dell’angolo, attorno all’origine (coordinate xey zero) per questa matrice nell’ordine specificato.
RotateAt(float, PointF)Applica una rotazione in senso orario attorno al punto specificato a questa matrice nell’ordine predefinito (Anteprima).
RotateAt(float, PointF, MatrixOrder)Applica una rotazione in senso orario attorno al punto specificato a questa matrice nell’ordine specificato.
Scale(float, float)Applica il vettore di scala specificato (scaleX e scaleY) a questa matrice utilizzando (predefinito) Ordine di anteporre.
Scale(float, float, MatrixOrder)Applica il vettore di scala specificato (scaleX e scaleY) a questoMatrix utilizzando l’ordine specificato.
override ToString()Restituisce aString che rappresenta questa istanza.
TransformPoints(PointF[])Applica la trasformata geometrica rappresentata da questoMatrix una matrice di punti specificata.
Translate(float, float)Applica a questo il vettore di traslazione specificatoMatrix utilizzando (predefinito) Ordine anteposto.
Translate(float, float, MatrixOrder)Applica il vettore di traslazione specificato a questa matrice nell’ordine specificato.
static Equals(Matrix, Matrix)Determina se due matrici sono uguali.

Campi

NomeDescrizione
const TypeFlipQuesto bit flag indica che la trasformazione definita da questo oggetto esegue un capovolgimento dell’immagine speculare attorno a un asse che cambia il sistema di coordinate normalmente destrorso in un sistema sinistro oltre alle conversioni indicate da altri bit flag. Un sistema di coordinate destrorso è quello in cui l’asse X positivo ruota in senso antiorario per sovrapporre l’asse Y positivo in modo simile alla direzione in cui le dita della mano destra si piegano quando si fissa il pollice. Un sistema di coordinate per mancini è quello in cui ruota l’asse X positivo in senso orario per sovrapporre l’asse Y positivo in modo simile alla direzione in cui le dita della mano sinistra si curvano. Non esiste un modo matematico per determinare l’angolo della trasformazione di ribaltamento o specchiatura originale poiché tutti gli angoli di ribaltamento sono identici data una rotazione di regolazione appropriata. NOTA: TypeFlip è stato aggiunto dopo GENERAL_TRANSFORM era in circolazione pubblica e i bit flag non potevano più essere convenientemente rinumerati senza introdurre incompatibilità binaria nel codice esterno .
const TypeGeneralRotationQuesto bit flag indica che la trasformazione definita da questo oggetto esegue una rotazione di un angolo arbitrario oltre alle conversioni indicate da altri bit flag. Una rotazione cambia gli angoli dei vettori della stessa quantità indipendentemente dalla direzione originale del vettore e senza modificare la lunghezza del vettore. Questo bit flag si esclude a vicenda con il
const TypeGeneralScaleUna scala generale moltiplica la lunghezza dei vettori per importi diversi nelle direzioni xey senza modificare l’angolo tra i vettori perpendicolari. Questo bit flag si esclude a vicenda con il flag TypeUniformScale.
const TypeGeneralTransformQuesta costante indica che la trasformazione definita da questo oggetto esegue una conversione arbitraria delle coordinate di input. Se questa trasformazione può essere classificata da una qualsiasi delle costanti precedenti, il tipo sarà la costante TypeIdentity o una combinazione di del flag appropriato bit per le varie conversioni coordinate eseguite da questa trasformazione.
const TypeIdentityUna trasformazione di identità è quella in cui le coordinate di output sono sempre le stesse delle coordinate di input. Se questa trasformazione è diversa dalla trasformazione di identità, il tipo sarà o la costante GENERAL_TRANSFORM o una combinazione di dei bit flag appropriati per le varie conversioni coordinate eseguite da questa trasformazione.
const TypeMaskRotationQuesta costante è una maschera di bit per qualsiasi bit di flag di rotazione.
const TypeMaskScaleQuesta costante è una maschera di bit per qualsiasi bit flag di scala.
const TypeQuadrantRotationQuesto bit flag indica che la trasformazione definita da questo oggetto esegue una rotazione del quadrante di alcuni multipli di 90 gradi in oltre alle conversioni indicate da altri bit flag. Una rotazione cambia gli angoli dei vettori della stessa quantità indipendentemente dalla direzione originale del vettore e senza modificare la lunghezza del vettore. Questo bit flag si esclude a vicenda con il flag TypeGeneralRotation.
const TypeTranslationUna traslazione sposta le coordinate di una quantità costante in x e y senza modificare la lunghezza o l’angolo dei vettori.
const TypeUniformScaleUna scala uniforme moltiplica la lunghezza dei vettori per la stessa quantità in entrambe le direzioni xey senza modificare l’angolo tra vettori. Questo bit flag si esclude a vicenda con il flag TypeGeneralScale.

Osservazioni

La maggior parte degli algoritmi presi da AffineTransform.java di Sun. Nomi Java per gli elementi di matrice utilizzati internamente. Mappa dei nomi java in quelli .net alla descrizione: m00 M11 Scale X m10 M12 Shear Y m01 M21 Shear X m11 M22 Scale Y_0 Traduci X m12 M32 Traduci Y

Guarda anche