Så här översätter du ett objekt
Att översätta ett 2D-objekt är att flytta objektet längs x-axeln, y-axeln eller båda. Du kan anropa någon av följande två metoder för att skapa en översättningstransformering.
- Translation(D2D1_SIZE_F size): tar ett ordnat par som definierar avståndet för att översätta längs x-axeln och y-axeln.
- Translation (float x, float y): anger avståndet att translatera längs x-axeln och avståndet att translatera längs y-axeln.
Följande kod skapar en översättningstransformeringsmatris som flyttar kvadrat 20-enheterna till höger längs x-axeln och 10 enheter nedåt längs y-axeln.
// 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);
Följande bild visar effekten av att tillämpa översättningstransformationen på kvadraten, där den ursprungliga kvadraten är en prickad kontur och den översatta kvadraten är en solid kontur.
Relaterade ämnen
-
översikt över Direct2D-transformeringar