Comment traduire un objet
Traduire un objet 2D consiste à déplacer l’objet le long de l’axe X, de l’axe y ou des deux. Vous pouvez appeler l’une des deux méthodes suivantes pour créer une transformation de traduction.
- Translation(D2D1_SIZE_F size) : prend une paire ordonnée qui définit la distance à traduire le long de l’axe x et de l’axe y.
- Translation(float x, float y) : prend la distance à traduire le long de l’axe X et la distance à traduire le long de l’axe y.
Le code suivant crée une matrice de transformation de traduction qui déplace le carré de 20 unités à droite le long de l’axe x et de 10 unités vers le bas le long de l’axe 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);
L’illustration suivante montre l’effet de l’application de la transformation de traduction au carré, où le carré d’origine est un contour en pointillés et le carré traduit est un contour plein.
Rubriques connexes