Cómo traducir un objeto
Para traducir un objeto 2D, es mover el objeto a lo largo del eje X, el eje Y o ambos. Puede llamar a uno de los dos métodos siguientes para crear una transformación de traducción.
- Translation(D2D1_SIZE_F size): toma un par ordenado que define la distancia que se va a traducir a lo largo del eje x y del eje Y.
- Translation(float x, float y): toma la distancia para traducir a lo largo del eje X y la distancia que se va a traducir a lo largo del eje Y.
El código siguiente crea una matriz de transformación de traducción que mueve las 20 unidades cuadradas a la derecha a lo largo del eje X y 10 unidades hacia abajo a lo largo del eje 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);
En la ilustración siguiente se muestra el efecto de aplicar la transformación de traducción al cuadrado, donde el cuadrado original es un contorno de puntos y el cuadrado traducido es un contorno sólido.
Temas relacionados