Dela via


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.

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.

bild av en fyrkant flyttade 20 enheter åt höger längs x-axeln och 10 enheter nedåt längs y-axeln

Direct2D-referens

översikt över Direct2D-transformeringar