Partager via


Classe Matrix3x2F (d2d1helper.h)

La classe Matrix3x2F représente une matrice 3 par 2 et fournit des méthodes pratiques pour créer des matrices.

Héritage

La classe Matrix3x2F hérite de D2D1_MATRIX_3X2_F.

Méthodes

La classe Matrix3x2F possède ces méthodes.

 
Matrix3x2F ::D eterminant

Calcule le déterminant de la matrice. (Matrix3x2F.Determinant)
Matrix3x2F ::Identity

Crée une matrice d’identité. (Matrix3x2F.Identity)
Matrix3x2F ::Invert

Inverse la matrice, si elle est inversible.
Matrix3x2F ::IsIdentity

Indique si cette matrice est la matrice d’identité. (Matrix3x2F.IsIdentity)
Matrix3x2F ::IsInvertible

Indique si la matrice est inversible.
Matrix3x2F ::Matrix3x2F

Instancie une nouvelle instance de la classe Matrix3x2F qui contient les valeurs spécifiées.
Matrix3x2F ::Matrix3x2F

Instancie une nouvelle instance de la classe Matrix3x2F sans initialiser les valeurs de matrice.
Matrix3x2F ::operator*

La méthode Matrix3x2F ::operator-mult (d2d1helper.h) multiplie cette matrice par la matrice spécifiée et retourne le résultat.
Matrix3x2F ::ReinterpretBaseType

Convertit la matrice de D2D1_MATRIX_3X2_F spécifiée en matrice Matrix3x2F sans effectuer de copie. (surcharge 1/2)
Matrix3x2F ::ReinterpretBaseType

Convertit la matrice de D2D1_MATRIX_3X2_F spécifiée en matrice Matrix3x2F sans effectuer de copie. (surcharge 2/2)
Matrix3x2F::Rotation

Crée une transformation de rotation qui a l’angle et le point central spécifiés.
Matrix3x2F::Scale

Crée une transformation de mise à l’échelle qui a les facteurs d’échelle et le point central spécifiés. (surcharge 2/2)
Matrix3x2F::Scale

Crée une transformation de mise à l’échelle qui a les facteurs d’échelle et le point central spécifiés. (surcharge 1/2)
Matrix3x2F ::SetProduct

Multiplie les deux matrices et stocke le résultat dans cette matrice. (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

Crée une transformation d’asymétrie qui a les valeurs de l’axe x et de l’axe y et le point central spécifiés.
Matrix3x2F ::TransformPoint

Utilise cette matrice pour transformer le point spécifié et retourne le résultat.
Matrix3x2F::Translation

Crée une transformation de traduction qui a les déplacements x et y spécifiés. (surcharge 1/2)
Matrix3x2F::Translation

Crée une transformation de traduction qui a les déplacements x et y spécifiés. (surcharge 2/2)

Remarques

La classe Matrix3x2F fournit de nombreuses méthodes statiques pour créer des matrices de transformation. Le tableau suivant fournit les méthodes fréquemment utilisées et les rubriques de procédure qui leur sont associées.

Méthode Procédure
Fausser Guide pratique pour biaiser un objet
Rotation Comment faire pivoter un objet
Mettre à l'échelle Mise à l’échelle d’un objet
Traduction Comment traduire un objet
 

Les transformations peuvent être appliquées à des objets ou à une surface de dessin entière. Pour appliquer des transformations à une surface de dessin entière, appelez la méthode ID2D1RenderTarget ::SetTransform . Pour des objets individuels, tels que des pinceaux ou des géométries, appelez la méthode ID2D1Brush ::SetTransform ou les méthodes ID2D1Geometry .

Exemples

L’exemple suivant utilise la méthode D2D1 ::Matrix3x2F ::Rotation pour créer une matrice de rotation qui fait pivoter un carré dans le sens des aiguilles d’une montre de 45 degrés autour du centre du carré et passe la matrice à la méthode SetTransform de la cible de rendu (m_pRenderTarget).

L’illustration suivante montre l’effet de l’application de la transformation de rotation précédente au carré. Le carré d’origine est un contour en pointillés, et le carré pivoté est un contour uni.

Illustration un carré pivoté dans le sens des aiguilles d’une montre de 45 degrés autour du centre du carré d’origine
    // Create a rectangle.
    D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);

    // Draw the rectangle.
    m_pRenderTarget->DrawRectangle(
        rectangle,
        m_pOriginalShapeBrush,
        1.0f,
        m_pStrokeStyleDash
        );

    // Apply the rotation transform to the render target.
    m_pRenderTarget->SetTransform(
        D2D1::Matrix3x2F::Rotation(
            45.0f,
            D2D1::Point2F(468.0f, 331.5f))
        );

    // Fill the rectangle.
    m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);

    // Draw the transformed rectangle.
    m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);


Le code a été omis dans cet exemple. Pour plus d’informations sur les transformations, consultez Vue d’ensemble des transformations.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d2d1helper.h (inclure D2d1helper.h)

Voir aussi

D2D1_MATRIX_3X2_F

Vue d’ensemble des transformations