Matrix Struct
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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
Valore nella prima riga e nella prima colonna dell'oggetto Matrix. Per ulteriori informazioni, consultare la proprietà M11.
Valore nella prima riga e nella seconda colonna. Per ulteriori informazioni, consultare la proprietà M12.
Valore nella seconda riga e nella prima colonna. Per ulteriori informazioni, consultare la proprietà M21.
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. |