Partager via


Matrix Structure

Définition

Représente une matrice de transformation affine 3x3 utilisée pour les transformations dans l’espace 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
Héritage
Matrix
Attributs
Implémente

Remarques

Une matrice 3x3 est utilisée pour les transformations dans un plan x-y 2D. Les matrices de transformation affine peuvent être multipliées pour effectuer un ensemble de transformations linéaires telles que la rotation et le cisaillement, suivies de la translation. Une matrice de transformation affine a sa colonne finale égale à (0, 0, 1), de sorte que seuls les membres des deux premières colonnes doivent être spécifiés. Notez que les vecteurs sont exprimés sous forme de vecteurs de ligne, et non de vecteurs de colonne.

Un WPF Matrix est stocké à l’aide de l’ordre principal des lignes et a la structure suivante :

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

Les membres de la dernière ligne et OffsetXOffsetY, représentent les valeurs de traduction.

Dans les méthodes et les propriétés, la matrice de transformation est généralement spécifiée en tant que vecteur avec seulement six membres, comme suit :

(M11, , M12, M22M21, , OffsetX, OffsetY)

Bien que vous puissiez utiliser une Matrix structure directement pour traduire des points individuels ou pour transformer des MatrixTransform objets, WPF fournit également un ensemble de classes qui vous permettent de transformer des objets sans travailler directement avec des matrices : RotateTransform, ScaleTransform, SkewTransformet TranslateTransform.

Utilisation des attributs XAML

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

Valeurs XAML

m11System.Double

Valeur de la première ligne et de la première colonne de ce Matrix. Pour plus d’informations, consultez la propriété M11.

m12System.Double

Valeur de la première ligne et de la deuxième colonne. Pour plus d’informations, consultez la propriété M12.

m21System.Double

Valeur de la deuxième ligne et de la première colonne. Pour plus d’informations, consultez la propriété M21.

m22System.Double

Valeur de la deuxième ligne et de la deuxième colonne. Pour plus d’informations, consultez la propriété M22.

offsetXSystem.Double

Valeur de la troisième ligne et de la première colonne. Pour plus d’informations, consultez la propriété OffsetX.

offsetYSystem.Double

Valeur de la troisième ligne et de la deuxième colonne. Pour plus d’informations, consultez la propriété OffsetY.

Constructeurs

Nom Description
Matrix(Double, Double, Double, Double, Double, Double)

Initialise une nouvelle instance de la Matrix structure.

Propriétés

Nom Description
Determinant

Obtient le déterminant de cette Matrix structure.

HasInverse

Obtient une valeur qui indique si cette Matrix structure est inversée.

Identity

Obtient une identité Matrix.

IsIdentity

Obtient une valeur qui indique si cette Matrix structure est une matrice d’identité.

M11

Obtient ou définit la valeur de la première ligne et de la première colonne de cette Matrix structure.

M12

Obtient ou définit la valeur de la première ligne et de la deuxième colonne de cette Matrix structure.

M21

Obtient ou définit la valeur de la deuxième ligne et de la première colonne de cette Matrix structure.

M22

Obtient ou définit la valeur de la deuxième ligne et de la deuxième colonne de cette Matrix structure.

OffsetX

Obtient ou définit la valeur de la troisième ligne et de la première colonne de cette Matrix structure.

OffsetY

Obtient ou définit la valeur de la troisième ligne et de la deuxième colonne de cette Matrix structure.

Méthodes

Nom Description
Append(Matrix)

Ajoute la structure spécifiée Matrix à cette Matrix structure.

Equals(Matrix, Matrix)

Détermine si les deux structures spécifiées sont identiques Matrix .

Equals(Matrix)

Détermine si la structure spécifiée Matrix est identique à cette instance.

Equals(Object)

Détermine si le spécifié Object est une Matrix structure identique à celle-ci Matrix.

GetHashCode()

Retourne le code de hachage de cette Matrix structure.

Invert()

Inverse cette Matrix structure.

Multiply(Matrix, Matrix)

Multiplie une Matrix structure par une autre Matrix structure.

Parse(String)

Convertit une représentation d’une String matrice en structure équivalente Matrix .

Prepend(Matrix)

Ajoute la structure spécifiée Matrix à cette Matrix structure.

Rotate(Double)

Applique une rotation de l’angle spécifié à propos de l’origine de cette Matrix structure.

RotateAt(Double, Double, Double)

Fait pivoter cette matrice sur le point spécifié.

RotateAtPrepend(Double, Double, Double)

Ajoute une rotation de l’angle spécifié au point spécifié à cette Matrix structure.

RotatePrepend(Double)

Ajoute une rotation de l’angle spécifié à cette Matrix structure.

Scale(Double, Double)

Ajoute le vecteur d’échelle spécifié à cette Matrix structure.

ScaleAt(Double, Double, Double, Double)

Met à l’échelle cette Matrix valeur en fonction de la quantité spécifiée sur le point spécifié.

ScaleAtPrepend(Double, Double, Double, Double)

Prépende l’échelle spécifiée à propos du point spécifié de ce Matrix.

ScalePrepend(Double, Double)

Ajoute le vecteur d’échelle spécifié à cette Matrix structure.

SetIdentity()

Modifie cette Matrix structure en matrice d’identité.

Skew(Double, Double)

Ajoute une asymétrie des degrés spécifiés dans les dimensions x et y à cette Matrix structure.

SkewPrepend(Double, Double)

Précède une asymétrie des degrés spécifiés dans les dimensions x et y de cette Matrix structure.

ToString()

Crée une String représentation de cette Matrix structure.

ToString(IFormatProvider)

Crée une String représentation de cette Matrix structure avec des informations de mise en forme propres à la culture.

Transform(Point)

Transforme le point spécifié par le Matrix résultat et retourne le résultat.

Transform(Point[])

Transforme les points spécifiés par ce Matrix.

Transform(Vector)

Transforme le vecteur spécifié par ce Matrix.

Transform(Vector[])

Transforme les vecteurs spécifiés par ce Matrix.

Translate(Double, Double)

Ajoute une traduction des décalages spécifiés à cette Matrix structure.

TranslatePrepend(Double, Double)

Ajoute une traduction des décalages spécifiés à cette Matrix structure.

Opérateurs

Nom Description
Equality(Matrix, Matrix)

Détermine si les deux structures spécifiées sont identiques Matrix .

Inequality(Matrix, Matrix)

Détermine si les deux structures spécifiées ne sont pas identiques Matrix .

Multiply(Matrix, Matrix)

Multiplie une Matrix structure par une autre Matrix structure.

Implémentations d’interfaces explicites

Nom Description
IFormattable.ToString(String, IFormatProvider)

Met en forme la valeur de l’instance actuelle à l’aide du format spécifié.

S’applique à

Voir aussi