Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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