Comment traduire un objet
La conversion d’un objet 2D consiste à déplacer l’objet le long de l’axe x, de l’axe y, ou les deux. Vous pouvez appeler l’une des deux méthodes suivantes pour créer une transformation de traduction.
- Translation (taille _ d2d1 _ F): prend une paire ordonnée qui définit la distance de translation le long de l’axe x et de l’axe y.
- Translation (float x, float y): prend la distance pour effectuer la translation le long de l’axe x et la distance pour la translation le long de l’axe y.
Le code suivant crée une matrice de transformation de translation qui déplace le carré de 20 unités vers la 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 translation au carré, où le carré d’origine est un contour en pointillés et le carré traduit est un contour Uni.
