Come tradurre un oggetto
Per tradurre un oggetto 2D, è necessario spostare l'oggetto lungo l'asse x, l'asse y o entrambi. È possibile chiamare uno dei due metodi seguenti per creare una trasformazione di traduzione.
- Translation(D2D1_SIZE_F size): accetta una coppia ordinata che definisce la distanza da tradurre lungo l'asse x e l'asse y.
- Translation(float x, float y): accetta la distanza per tradurre lungo l'asse x e la distanza da tradurre lungo l'asse y.
Il codice seguente crea una matrice di trasformazione di conversione che sposta il quadrato 20 unità a destra lungo l'asse x e 10 unità verso il basso lungo l'asse 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);
La figura seguente mostra l'effetto dell'applicazione della trasformazione di traduzione al quadrato, dove il quadrato originale è una struttura punteggiata e il quadrato tradotto è una struttura solida.
Argomenti correlati