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. Puoi moltiplicare matrici di trasformazioni affini per formare un numero qualsiasi di trasformazioni lineari, ad esempio rotazione e inclinazione (distorsione), seguite da traslazione. Una matrice di trasformazione affine ha la colonna finale uguale a (0, 0, 1), quindi è necessario specificare 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:
M11 | M12 | 0 |
M21 | M22 | 0 |
OffsetX | OffsetY | 1 |
I membri dell'ultima riga OffsetX e OffsetY, 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, M21, M22, OffsetX, OffsetY)
Sebbene sia possibile usare direttamente una Matrix struttura 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.
Uso della sintassi XAML per gli attributi
<object property="m11, m12, m21, m22, offsetX, offsetY"/>
- or -
<object property="Identity"/>
Valori XAML
m11
System.Double
Valore nella prima riga e nella prima colonna di questo Matrixoggetto . Per altre informazioni, vedere la proprietà M11.
m12
System.Double
Valore nella prima riga e nella seconda colonna. Per altre informazioni, vedere la proprietà M12.
m21
System.Double
Valore nella seconda riga e nella prima colonna. Per altre informazioni, vedere la proprietà M21.
m22
System.Double
Valore nella seconda riga e nella seconda colonna. Per altre informazioni, vedere la proprietà M22.
offsetX
System.Double
Valore nella terza riga e nella prima colonna. Per altre informazioni, vedere la proprietà OffsetX.
Offsety
System.Double
Valore nella terza riga e nella seconda colonna. Per altre informazioni, vedere la proprietà OffsetY.
Costruttori
Matrix(Double, Double, Double, Double, Double, Double) |
Inizializza una nuova istanza della struttura Matrix. |
Proprietà
Determinant |
Ottiene il determinante della struttura Matrix. |
HasInverse |
Ottiene un valore che indica se questa struttura Matrix è invertibile o meno. |
Identity |
Ottiene una struttura Matrix di identità. |
IsIdentity |
Ottiene un valore che indica se la struttura Matrix è una matrice di identità o meno. |
M11 |
Ottiene o imposta il valore della prima riga e della prima colonna della struttura Matrix. |
M12 |
Ottiene o imposta il valore della prima riga e della seconda colonna della struttura Matrix. |
M21 |
Ottiene o imposta il valore della seconda riga e della prima colonna della struttura Matrix. |
M22 |
Ottiene o imposta il valore della seconda riga e della seconda colonna della struttura Matrix. |
OffsetX |
Ottiene o imposta il valore della terza riga e della prima colonna della struttura Matrix. |
OffsetY |
Ottiene o imposta il valore della terza riga e della seconda colonna della struttura Matrix. |
Metodi
Append(Matrix) |
Accoda la struttura Matrix specificata alla struttura Matrix corrente. |
Equals(Matrix) |
Determina se la struttura Matrix specificata è uguale o meno a questa istanza. |
Equals(Matrix, Matrix) |
Determina se le due strutture Matrix specificate sono identiche. |
Equals(Object) |
Determina se l'oggetto Object specificato è o meno una struttura Matrix identica alla struttura Matrix corrente. |
GetHashCode() |
Restituisce il codice hash di questa struttura Matrix. |
Invert() |
Inverte la struttura Matrix. |
Multiply(Matrix, Matrix) |
Moltiplica una struttura Matrix per un'altra struttura Matrix. |
Parse(String) |
Converte una rappresentazione String di una matrice nella struttura Matrix equivalente. |
Prepend(Matrix) |
Antepone la struttura Matrix specificata alla struttura Matrix corrente. |
Rotate(Double) |
Applica una rotazione dell'angolo specificato intorno all'origine della struttura Matrix . |
RotateAt(Double, Double, Double) |
Ruota la matrice intorno al punto specificato. |
RotateAtPrepend(Double, Double, Double) |
Antepone alla struttura Matrix una rotazione dell'angolo specificato intorno al punto definito. |
RotatePrepend(Double) |
Antepone alla struttura Matrix una rotazione dell'angolo specificato. |
Scale(Double, Double) |
Accoda il vettore di ridimensionamento specificato alla struttura Matrix corrente. |
ScaleAt(Double, Double, Double, Double) |
Ridimensiona la struttura Matrix rispetto al punto specificato in base al valore definito. |
ScaleAtPrepend(Double, Double, Double, Double) |
Antepone il ridimensionamento specificato rispetto al punto definito di questa struttura Matrix. |
ScalePrepend(Double, Double) |
Antepone il vettore di ridimensionamento specificato alla struttura Matrix corrente. |
SetIdentity() |
Cambia la struttura Matrix in una matrice di identità. |
Skew(Double, Double) |
Accoda alla struttura Matrix un'inclinazione di gradi specificati nelle dimensioni x e y. |
SkewPrepend(Double, Double) |
Antepone alla struttura Matrix un'inclinazione di gradi specificati nelle dimensioni x e y. |
ToString() |
Crea una rappresentazione String di questa struttura Matrix. |
ToString(IFormatProvider) |
Crea una rappresentazione String della struttura Matrix con le informazioni di formattazione specifiche delle impostazioni cultura. |
Transform(Point) |
Trasforma il punto specificato mediante la struttura Matrix e restituisce il risultato. |
Transform(Point[]) |
Trasforma i punti specificati mediante la struttura Matrix. |
Transform(Vector) |
Trasforma il vettore specificato mediante la struttura Matrix. |
Transform(Vector[]) |
Trasforma i vettori specificati mediante la struttura Matrix. |
Translate(Double, Double) |
Accoda alla struttura Matrix una traslazione degli offset specificati. |
TranslatePrepend(Double, Double) |
Antepone alla struttura Matrix una traslazione degli offset specificati. |
Operatori
Equality(Matrix, Matrix) |
Determina se le due strutture Matrix specificate sono identiche. |
Inequality(Matrix, Matrix) |
Determina se le due strutture Matrix specificate non sono identiche. |
Multiply(Matrix, Matrix) |
Moltiplica una struttura Matrix per un'altra struttura Matrix. |
Implementazioni dell'interfaccia esplicita
IFormattable.ToString(String, IFormatProvider) |
Formatta il valore dell'istanza corrente usando il formato specificato. |