Matrix Structure
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une matrice de transformation affine de 3 × utilisée pour les transformations dans un espace bidimensionnel.
public value class Matrix
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.UI.Xaml.WinUIContract, 65536)]
struct Matrix
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.UI.Xaml.WinUIContract), 65536)]
public struct Matrix
Public Structure Matrix
<Matrix .../>
- or -
<object property="m11,m12,m21,m22,offsetX,offsetY"/>
- or -
<object property="m11 m12 m21 m22 offsetX offsetY"/>
-or-
<object property="Identity"/>
- Héritage
-
Matrix
- Attributs
Exemples
Cet exemple XAML définit une matrice qui fournit des données pour une matrice appliquée à une forme rectangulaire. Dans ce cas, la matrice combine un décalage (OffsetX et OffsetY et un asymétrie (M12). Notez que ce même effet peut avoir été produit en combinant un TranslateTransform et un SkewTransform. L’utilisation d’une matrice unique ou de combinaisons de transformations discrètes est une question de style de codage ; les résultats sont identiques.
<Rectangle Width="100" Height="100" Fill="Red">
<Rectangle.RenderTransform>
<MatrixTransform Matrix="1,0,0,1,200,0">
</MatrixTransform>
</Rectangle.RenderTransform>
</Rectangle>
Remarques
Une matrice 3×3 est utilisée pour les transformations dans un plan x-y à deux dimensions. 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.
Une matrice est stockée à l’aide de l’ordre principal de ligne et a la structure suivante :
| M11 | M12 | 0 |
| M21 | M22 | 0 |
| OffsetX | OffsetY | 1 |
Les membres de la dernière ligne, OffsetX et OffsetY 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 comme vecteur avec seulement six membres, comme suit : (M11, M12, M21, M22, OffsetX, OffsetY)
Bien que vous puissiez utiliser une structure Matrix directement pour traduire des points individuels ou avec un MatrixTransform pour transformer des objets, l’Windows Runtime fournit également un ensemble de classes qui peuvent transformer des objets sans travailler directement avec des matrices :
Les propriétés d’une matrice peuvent être animées (sous la forme d’une ou plusieurs animations DoubleAnimation ou DoubleAnimationUsingKeyFrames).
Matrix est la valeur de propriété de la propriété MatrixTransform.Matrix . Les types associés peuvent être utilisés pour les matrices de transformation dans un espace tridimensionnel, puis utilisés pour une projection. Consultez Matrix3D et Matrix3DProjection.
Projections de langage et membres de Matrix
Si vous utilisez un langage Microsoft .NET (C#), Matrix dispose de membres non-données disponibles et ses membres de données sont exposés en tant que propriétés en lecture-écriture, et non en tant que champs.
Si vous programmez avec C++ à l’aide de la bibliothèque de modèles Windows Runtime (WRL), seuls les champs membres de données existent en tant que membres de Matrix et vous ne pouvez pas utiliser les méthodes ou propriétés utilitaires répertoriées dans la table des membres. Le code WRL peut accéder à des méthodes utilitaires similaires qui existent sur la classe MatrixHelper .
Champs
| Nom | Description |
|---|---|
| M11 |
Valeur de la première ligne et de la première colonne de cette structure Matrice. |
| M12 |
Valeur de la première ligne et de la deuxième colonne de cette structure Matrice. |
| M21 |
Valeur de la deuxième ligne et de la première colonne de cette structure Matrice. |
| M22 |
Valeur de la deuxième ligne et de la deuxième colonne de cette structure matrice. |
| OffsetX |
Obtient ou définit la valeur de la troisième ligne et de la première colonne de cette structure matrice. |
| OffsetY |
Obtient ou définit la valeur de la troisième ligne et de la deuxième colonne de cette structure matrice. |