Como traduzir um objeto
Traduzir um objeto 2D é mover o objeto ao longo do eixo x, do eixo y ou ambos. Você pode chamar um dos dois métodos a seguir para criar uma transformação de tradução.
- Translation(D2D1_SIZE_F size): usa um par ordenado que define a distância a ser convertida ao longo do eixo x e do eixo y.
- Translation(float x, float y): aproveita a distância para traduzir ao longo do eixo x e a distância a ser convertida ao longo do eixo y.
O código a seguir cria uma matriz de transformação de tradução que move as 20 unidades quadradas para a direita ao longo do eixo x e 10 unidades para baixo ao longo do eixo 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);
A ilustração a seguir mostra o efeito de aplicar a transformação de tradução ao quadrado, em que o quadrado original é um contorno pontilhado e o quadrado traduzido é um contorno sólido.
Tópicos relacionados