Jak przetłumaczyć obiekt
Aby przetłumaczyć obiekt 2-W, należy przenieść obiekt wzdłuż osi x, osi y lub obu tych elementów. Aby utworzyć przekształcenie tłumaczenia, można wywołać dowolną z dwóch następujących metod.
- Translation (rozmiar D2D1_SIZE_F): przyjmuje uporządkowaną parę, która definiuje odległość do tłumaczenia wzdłuż osi x i osi y.
- Translation(float x, float y): przyjmuje odległość do przesunięcia wzdłuż osi x oraz odległość do przesunięcia wzdłuż osi y.
Poniższy kod tworzy macierz przesunięcia, która przenosi kwadrat o 20 jednostek w prawo wzdłuż osi x i o 10 jednostek w dół wzdłuż osi 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);
Na poniższej ilustracji przedstawiono efekt zastosowania przekształcenia tłumaczenia do kwadratu, gdzie oryginalny kwadrat jest konturem kropkowanym, a przetłumaczony kwadrat jest solidnym konturem.
Tematy pokrewne