Condividi tramite


Classe Matrix3x2F (d2d1helper.h)

La classe Matrix3x2F rappresenta una matrice da 3 a 2 e fornisce metodi pratici per la creazione di matrici.

Ereditarietà

La classe Matrix3x2F eredita da D2D1_MATRIX_3X2_F.

Metodi

La classe Matrix3x2F include questi metodi.

 
Matrix3x2F::D eterminant

Calcola il determinante della matrice. (Matrix3x2F.Determinant)
Matrix3x2F::Identity

Crea una matrice di identità. (Matrix3x2F.Identity)
Matrix3x2F::Invert

Inverte la matrice, se invertibile.
Matrix3x2F::IsIdentity

Indica se questa matrice è la matrice di identità. (Matrix3x2F.IsIdentity)
Matrix3x2F::IsInvertible

Indica se la matrice è invertita.
Matrix3x2F::Matrix3x2F

Crea un'istanza di una nuova istanza della classe Matrix3x2F che contiene i valori specificati.
Matrix3x2F::Matrix3x2F

Crea un'istanza di una nuova istanza della classe Matrix3x2F senza inizializzare i valori della matrice.
Matrix3x2F::operator*

Il metodo Matrix3x2F::operator-mult (d2d1helper.h) moltiplica questa matrice con la matrice specificata e restituisce il risultato.
Matrix3x2F::ReinterpretBaseType

Converte la matrice di D2D1_MATRIX_3X2_F specificata in un oggetto Matrix3x2F senza creare una copia. (overload 1/2)
Matrix3x2F::ReinterpretBaseType

Converte la matrice di D2D1_MATRIX_3X2_F specificata in un oggetto Matrix3x2F senza creare una copia. (overload 2/2)
Matrix3x2F::Rotation

Crea una trasformazione di rotazione con l'angolo e il punto centrale specificati.
Matrix3x2F::Scale

Crea una trasformazione di scala con i fattori di scala e il punto centrale specificati. (overload 2/2)
Matrix3x2F::Scale

Crea una trasformazione di scala con i fattori di scala e il punto centrale specificati. (overload 1/2)
Matrix3x2F::SetProduct

Moltiplica le due matrici e archivia il risultato in questa matrice. (Matrix3x2F.SetProduct)
Matrix3x2F::Skew

Crea una trasformazione asimmetria con i valori dell'asse x e dell'asse y specificati e il punto centrale specificati.
Matrix3x2F::TransformPoint

Usa questa matrice per trasformare il punto specificato e restituisce il risultato.
Matrix3x2F::Translation

Crea una trasformazione di traslazione con gli spostamenti x e y specificati. (overload 1/2)
Matrix3x2F::Translation

Crea una trasformazione di traslazione con gli spostamenti x e y specificati. (overload 2/2)

Commenti

La classe Matrix3x2F fornisce molti metodi statici per creare matrici di trasformazione. Nella tabella seguente vengono forniti i metodi usati di frequente e le procedure associate.

Metodo Procedure
Inclinazione Come asimmetriare un oggetto
Rotazione Come ruotare un oggetto
Scalabilità Come ridimensionare un oggetto
Traduzione Come tradurre un oggetto
 

Le trasformazioni possono essere applicate a oggetti o a un'intera superficie di disegno. Per applicare trasformazioni a un'intera superficie di disegno, chiamare il metodo ID2D1RenderTarget::SetTransform . Per singoli oggetti, ad esempio pennelli o geometrie, chiamare il metodo ID2D1Brush::SetTransform o i metodi ID2D1Geometry .

Esempio

Nell'esempio seguente viene utilizzato il metodo D2D1::Matrix3x2F::Rotation per creare una matrice di rotazione che ruota un quadrato di 45 gradi circa il centro del quadrato e passa la matrice al metodo SetTransform della destinazione di rendering (m_pRenderTarget).

Nella figura seguente viene illustrato l'effetto dell'applicazione della trasformazione di rotazione precedente al quadrato. Il quadrato originale è un contorno punteggiato e il quadrato ruotato è un contorno solido.

Illustrazione di un quadrato ruotato in senso orario di 45 gradi circa il centro del quadrato originale
    // 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);


Il codice è stato omesso da questo esempio. Per altre informazioni sulle trasformazioni, vedere Cenni preliminari sulle trasformazioni.

Requisiti

Requisito Valore
Client minimo supportato Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP]
Server minimo supportato Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d2d1helper.h (include D2d1helper.h)

Vedi anche

D2D1_MATRIX_3X2_F

Panoramica delle trasformazioni