Class Matrix

Matrix class

Sostituisce la matrice GDI+.

public class Matrix

Costruttori

NomeDescrizione
Matrix()Inizializza una nuova istanza della classe Matrix come matrice identità.
Matrix(Matrix)Crea una copia del fileMatrix classe.
Matrix(Rectangle, Point[])Inizializza una nuova istanza diMatrix class alla trasformazione geometrica definita dal rettangolo e dall’array di punti specificati.
Matrix(RectangleF, PointF[])Inizializza una nuova istanza diMatrix class 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 thisMatrix .
M11 { get; }Ottiene l’elemento della matrice nella prima riga prima colonna. Rappresenta la scala lungo l’asse X.
M12 { get; }Ottiene l’elemento della matrice nella prima riga della seconda colonna. Rappresenta il taglio lungo l’asse Y.
M21 { get; }Ottiene l’elemento della matrice nella prima riga della seconda colonna. 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 nella prima colonna della terza riga. Rappresenta la traslazione lungo l’asse X.
M32 { get; }Ottiene l’elemento della matrice nella prima colonna della terza riga. 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 matrice utilizzando (predefinito) Prepend order.
Multiply(Matrix, MatrixOrder)Moltiplica questa matrice per la matrice specificata nel parametro matrice e nell’ordine specificato nel parametro ordine.
Reset()Reimposta questa matrice per avere gli elementi della matrice identità.
Rotate(float)Applica una rotazione in senso orario di una quantità specificata nel parametro angolo, attorno all’origine (zero coordinate x e y) per questa matrice nell’ordine predefinito (Prepend).
Rotate(float, MatrixOrder)Applica una rotazione in senso orario di una quantità specificata nel parametro angolo, attorno all’origine (zero coordinate x e y) 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 (prepend).
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) Prepend order.
Scale(float, float, MatrixOrder)Applica a questo il vettore di scala specificato (scaleX e scaleY).Matrix utilizzando l’ordine specificato.
override ToString()Restituisce aString che rappresenta questa istanza.
TransformPoints(PointF[])Applica la trasformazione geometrica rappresentata da thisMatrix a una matrice di punti specificata.
Translate(float, float)Applica a questo il vettore di traduzione specificatoMatrix utilizzando (predefinito) Anteponi ordine.
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 flag bit indica che la trasformazione definita da questo oggetto esegue un’immagine speculare capovolta attorno ad un asse che cambia il sistema di coordinate normalmente destrorso in un sistema mancino oltre alle conversioni indicate da altri flag bit. Un sistema di coordinate destrorso è quello in cui l’asse X positivo ruota in senso antiorario per sovrapporsi all’asse Y positivo simile alla direzione in cui le dita della tua mano destra si arricciano quando fissi il pollice. Un sistema di coordinate mancino è quello in cui ruota l’asse X positivo in senso orario per sovrapporre l’asse Y positivo simile alla direzione in cui si arricciano le dita della mano sinistra. Non esiste un modo matematico per determinare l’angolo del originale capovolgimento o trasformazione speculare poiché tutti gli angoli del capovolgimento sono identici data un’appropriata rotazione di regolazione. NOTA: TypeFlip è stato aggiunto dopo GENERAL_TRANSFORM era in public circolazione e i flag bit non potevano più essere convenientemente rinumerati senza introdurre incompatibilità binaria nel codice outside .
const TypeGeneralRotationQuesto flag bit indica che la trasformazione definita da questo oggetto esegue una rotazione di un angolo arbitrario oltre alle conversioni indicate da altri flag bit. Una rotazione modifica gli angoli dei vettori della stessa quantità indipendentemente dalla direzione originale del vettore e senza cambiare la lunghezza del vettore. Questo flag bit si esclude a vicenda con the
const TypeGeneralScaleUna scala generale moltiplica la lunghezza dei vettori per diverse quantità nelle direzioni x e y senza modificare l’angolo tra i vettori perpendicolari. Questo flag bit 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 di cui sopra, il tipo sarà la costante TypeIdentity o una combinazione del flag appropriato bit per le varie conversioni di 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 è qualcosa di diverso dalla trasformazione di identità, il tipo sarà la costante GENERAL_TRANSFORM o una combinazione dei bit flag appropriati per le varie conversioni di coordinate eseguite da questa trasformazione.
const TypeMaskRotationQuesta costante è una maschera di bit per qualsiasi bit del flag di rotazione.
const TypeMaskScaleQuesta costante è una maschera di bit per qualsiasi bit del flag di scala.
const TypeQuadrantRotationQuesto flag bit indica che la trasformazione definita da questo oggetto esegue una rotazione del quadrante di qualche multiplo di 90 gradi in oltre alle conversioni indicate da altri flag bit. Una rotazione modifica gli angoli dei vettori della stessa quantità indipendentemente dalla direzione originale del vettore e senza modificare la lunghezza del vettore. Questo flag bit 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 x e y senza modificare l’angolo tra vettori. Questo flag bit si esclude a vicenda con il flag TypeGeneralScale.

Osservazioni

La maggior parte degli algoritmi presi da AffineTransform.java di Sun. Nomi di Java per gli elementi della matrice usati internamente. Mappa dei nomi java in quelli .net alla descrizione: m00 M11 Scala X m10 M12 Taglio Y m01 M21 Taglio X m11 M203 Scala Y_x02 M01 Traduci X m12 M32 Traduci Y

Guarda anche