Condividi tramite


Matrix Struct

Definizione

Rappresenta una matrice di trasformazione affine 3x3 usata per le trasformazioni nello spazio 2D.

public value class Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
[System.Serializable]
public struct Matrix : IFormattable
[System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))]
public struct Matrix : IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
[<System.Serializable>]
type Matrix = struct
    interface IFormattable
[<System.ComponentModel.TypeConverter(typeof(System.Windows.Media.MatrixConverter))>]
type Matrix = struct
    interface IFormattable
Public Structure Matrix
Implements IFormattable
Ereditarietà
Matrix
Attributi
Implementazioni

Commenti

Una matrice 3x3 viene usata per le trasformazioni in un piano x-y 2D. Le matrici di trasformazione affine possono essere moltiplicate per formare un qualsiasi numero di trasformazioni lineari, come la rotazione e l’inclinazione (shear), seguite dalla traslazione. Una matrice di trasformazione affine ha la colonna finale uguale a (0, 0, 1), quindi devono essere specificati solo i membri nelle prime due colonne. Si noti che i vettori sono espressi come vettori di riga, non come vettori di colonna.

Un wpf Matrix viene archiviato usando l'ordine principale della riga e ha la struttura seguente:

Colonna 1 Colonna 2 Colonna 3
M11 M12 0
M21 M22 0
OffsetX OffsetY 1

I membri nell'ultima riga e OffsetXOffsetY, rappresentano i valori di conversione.

Nei metodi e nelle proprietà, la matrice di trasformazione viene in genere specificata come vettore con solo sei membri, come indicato di seguito:

(M11, M12, M21M22, , OffsetX, ) OffsetY

Sebbene sia possibile usare una Matrix struttura direttamente per convertire singoli punti o con un MatrixTransform oggetto per trasformare gli oggetti, WPF fornisce anche un set di classi che consentono di trasformare gli oggetti senza utilizzare direttamente matrici: RotateTransform, ScaleTransform, SkewTransforme TranslateTransform.

Utilizzo degli attributi XAML

<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>

Valori XAML

m11System.Double

Valore nella prima riga e nella prima colonna dell'oggetto Matrix. Per ulteriori informazioni, consultare la proprietà M11.

m12System.Double

Valore nella prima riga e nella seconda colonna. Per ulteriori informazioni, consultare la proprietà M12.

m21System.Double

Valore nella seconda riga e nella prima colonna. Per ulteriori informazioni, consultare la proprietà M21.

m22System.Double

Valore nella seconda riga e nella seconda colonna. Per ulteriori informazioni, consultare la proprietà M22.

offsetXSystem.Double

Valore nella terza riga e nella prima colonna. Per ulteriori informazioni, consultare la proprietà OffsetX.

OffsetySystem.Double

Valore nella terza riga e nella seconda colonna. Per ulteriori informazioni, consultare la proprietà OffsetY.

Costruttori

Nome Descrizione
Matrix(Double, Double, Double, Double, Double, Double)

Inizializza una nuova istanza della Matrix struttura.

Proprietà

Nome Descrizione
Determinant

Ottiene il determinante di questa Matrix struttura.

HasInverse

Ottiene un valore che indica se questa Matrix struttura è invertibile.

Identity

Ottiene un'identità Matrix.

IsIdentity

Ottiene un valore che indica se questa Matrix struttura è una matrice di identità.

M11

Ottiene o imposta il valore della prima riga e della prima colonna di questa Matrix struttura.

M12

Ottiene o imposta il valore della prima riga e della seconda colonna di questa Matrix struttura.

M21

Ottiene o imposta il valore della seconda riga e della prima colonna di questa Matrix struttura.

M22

Ottiene o imposta il valore della seconda riga e della seconda colonna di questa Matrix struttura.

OffsetX

Ottiene o imposta il valore della terza riga e della prima colonna di questa Matrix struttura.

OffsetY

Ottiene o imposta il valore della terza riga e della seconda colonna di questa Matrix struttura.

Metodi

Nome Descrizione
Append(Matrix)

Aggiunge la struttura specificata Matrix a questa Matrix struttura.

Equals(Matrix, Matrix)

Determina se le due strutture specificate Matrix sono identiche.

Equals(Matrix)

Determina se la struttura specificata Matrix è identica a questa istanza.

Equals(Object)

Determina se l'oggetto specificato Object è una Matrix struttura identica a questa Matrixclasse .

GetHashCode()

Restituisce il codice hash per questa Matrix struttura.

Invert()

Inverte questa Matrix struttura.

Multiply(Matrix, Matrix)

Moltiplica una Matrix struttura per un'altra Matrix struttura.

Parse(String)

Converte una String rappresentazione di una matrice nella struttura equivalente Matrix .

Prepend(Matrix)

Antepone la struttura specificata Matrix a questa Matrix struttura.

Rotate(Double)

Applica una rotazione dell'angolo specificato sull'origine di questa Matrix struttura.

RotateAt(Double, Double, Double)

Ruota questa matrice sul punto specificato.

RotateAtPrepend(Double, Double, Double)

Antepone una rotazione dell'angolo specificato in corrispondenza del punto specificato a questa Matrix struttura.

RotatePrepend(Double)

Antepone una rotazione dell'angolo specificato a questa Matrix struttura.

Scale(Double, Double)

Aggiunge il vettore di scala specificato a questa Matrix struttura.

ScaleAt(Double, Double, Double, Double)

Ridimensiona l'oggetto Matrix in base alla quantità specificata circa il punto specificato.

ScaleAtPrepend(Double, Double, Double, Double)

Antepone la scala specificata sul punto specificato di questo Matrixoggetto .

ScalePrepend(Double, Double)

Antepone il vettore di scala specificato a questa Matrix struttura.

SetIdentity()

Modifica questa Matrix struttura in una matrice di identità.

Skew(Double, Double)

Accoda una asimmetria dei gradi specificati nelle dimensioni x e y a questa Matrix struttura.

SkewPrepend(Double, Double)

Antepone un'asimmetria dei gradi specificati nelle dimensioni x e y a questa Matrix struttura.

ToString()

Crea una String rappresentazione di questa Matrix struttura.

ToString(IFormatProvider)

Crea una String rappresentazione di questa Matrix struttura con informazioni di formattazione specifiche delle impostazioni cultura.

Transform(Point)

Trasforma il punto specificato da Matrix e restituisce il risultato.

Transform(Point[])

Trasforma i punti specificati da questo Matrixoggetto .

Transform(Vector)

Trasforma il vettore specificato da questo Matrixoggetto .

Transform(Vector[])

Trasforma i vettori specificati da questo Matrixoggetto .

Translate(Double, Double)

Accoda una conversione degli offset specificati a questa Matrix struttura.

TranslatePrepend(Double, Double)

Antepone una conversione degli offset specificati a questa Matrix struttura.

Operatori

Nome Descrizione
Equality(Matrix, Matrix)

Determina se le due strutture specificate Matrix sono identiche.

Inequality(Matrix, Matrix)

Determina se le due strutture specificate Matrix non sono identiche.

Multiply(Matrix, Matrix)

Moltiplica una Matrix struttura per un'altra Matrix struttura.

Implementazioni dell'interfaccia esplicita

Nome Descrizione
IFormattable.ToString(String, IFormatProvider)

Formatta il valore dell'istanza corrente utilizzando il formato specificato.

Si applica a

Vedi anche