Condividi tramite


Come tradurre un oggetto

Per convertire un oggetto 2D, spostare l'oggetto lungo l'asse x, l'asse y o entrambi. È possibile chiamare uno dei due metodi seguenti per creare una trasformazione di traduzione.

Il codice seguente crea una matrice di trasformazione per traslazione che trasla il quadrato di 20 unità a destra lungo l'asse x e di 10 unità verso il basso lungo l'asse y.

    // Create a rectangle.
    D2D1_RECT_F rectangle = D2D1::Rect(126.0f, 80.5f, 186.0f, 140.5f);

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

    // Apply the translation transform to the render target.
    m_pRenderTarget->SetTransform(D2D1::Matrix3x2F::Translation(20, 10));

    // Paint the interior of the rectangle.
    m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);

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

La figura seguente mostra l'effetto dell'applicazione della trasformazione di traslazione al quadrato, dove il quadrato originale ha un contorno punteggiato e il quadrato traslato ha un contorno solido.

illustrazione di un quadrato spostato di 20 unità a destra lungo l'asse delle x e di 10 unità verso il basso lungo l'asse delle y

Direct2D di riferimento

Panoramica trasformazioni Direct2D