Partager via


Matrix Structure

Définition

Représente une matrice de transformation affine 3x3 utilisée pour les transformations dans un 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 transformations affines peuvent être multipliées pour former un nombre quelconque de transformations linéaires, par exemple la rotation et l’inclinaison, puis la translation. Une matrice de transformation affine ayant sa colonne finale égale à (0, 0, 1), seuls les membres des deux premières colonnes doivent être spécifiés. Notez que les vecteurs sont exprimés en tant que vecteurs de ligne, et non en tant que vecteurs de colonne.

Un OBJET WPF Matrix est stocké à l’aide de l’ordre de la majeure ligne et a la structure suivante :

M11 M12 0
M21 M22 0
OffsetX OffsetY 1

Les membres de la dernière ligne, et OffsetY, OffsetX 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, M21, M22, OffsetX, OffsetY)

Bien que vous puissiez utiliser une Matrix structure directement pour traduire des points individuels, ou avec un MatrixTransform pour transformer des 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 d'attributs XAML

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

Valeurs XAML

m11
System.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.

m12
System.Double

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

m21
System.Double

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

m22
System.Double

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

offsetX
System.Double

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

offsetY
System.Double

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

Constructeurs

Matrix(Double, Double, Double, Double, Double, Double)

Initialise une nouvelle instance de la structure Matrix.

Propriétés

Determinant

Obtient le déterminant de cette structure Matrix.

HasInverse

Obtient une valeur qui indique si cette structure Matrix est réversible.

Identity

Obtient une identité Matrix.

IsIdentity

Obtient une valeur qui indique si cette structure Matrix 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 structure Matrix.

M12

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

M21

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

M22

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

OffsetX

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

OffsetY

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

Méthodes

Append(Matrix)

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

Equals(Matrix)

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

Equals(Matrix, Matrix)

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

Equals(Object)

Détermine si le Object spécifié est une structure Matrix identique à cette Matrix.

GetHashCode()

Retourne le code de hachage pour cette structure Matrix.

Invert()

Inverse cette structure Matrix.

Multiply(Matrix, Matrix)

Multiplie une structure Matrix par une autre structure Matrix.

Parse(String)

Convertit une représentation de matrice String en la structure Matrix équivalente.

Prepend(Matrix)

Ajoute la structure Matrix spécifiée au début de cette structureMatrix.

Rotate(Double)

Applique une rotation d'un angle spécifié par rapport à l'origine de cette structure Matrix.

RotateAt(Double, Double, Double)

Fait pivoter cette matrice par rapport au point spécifié.

RotateAtPrepend(Double, Double, Double)

Ajoute une rotation d'angle spécifié à un point spécifié au début de cette structure Matrix.

RotatePrepend(Double)

Ajoute une rotation d'un angle spécifié au début de cette structure Matrix.

Scale(Double, Double)

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

ScaleAt(Double, Double, Double, Double)

Met à l'échelle cette Matrix au taux spécifié par rapport du point spécifié.

ScaleAtPrepend(Double, Double, Double, Double)

Ajoute l'échelle spécifiée par rapport au point spécifié au début de cette Matrix.

ScalePrepend(Double, Double)

Ajoute le vecteur d'échelle spécifié au début de cette structure Matrix.

SetIdentity()

Change cette structure Matrix en une matrice d'identité.

Skew(Double, Double)

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

SkewPrepend(Double, Double)

Ajoute une inclinaison des degrés spécifiés dans les dimensions x et y au début de cette structure Matrix.

ToString()

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

ToString(IFormatProvider)

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

Transform(Point)

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

Transform(Point[])

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

Transform(Vector)

Transforme le vecteur spécifié par cette Matrix.

Transform(Vector[])

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

Translate(Double, Double)

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

TranslatePrepend(Double, Double)

Ajoute une traduction des offsets spécifiés au début de cette structure Matrix.

Opérateurs

Equality(Matrix, Matrix)

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

Inequality(Matrix, Matrix)

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

Multiply(Matrix, Matrix)

Multiplie une structure Matrix par une autre structure Matrix.

Implémentations d’interfaces explicites

IFormattable.ToString(String, IFormatProvider)

Met en forme la valeur de l’instance actuelle en utilisant le format spécifié.

S’applique à

Voir aussi