Not
Å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.
Det här avsnittet beskriver hur du roterar ett objekt om en angiven punkt. Om du vill rotera ett objekt anropar du metoden Matrix3x2F::Rotation. Den här metoden tar två parametrar, den angivna vinkeln och mittpunkten. Vinkeln är en rotationsvinkel medsols i grader och mittpunkten är den punkt som objektet roterar om. Mittpunkten uttrycks i koordinatsystemet för objektet som transformeras.
Till exempel roterar följande kod en kvadrat medsols 45 grader runt mitten av kvadraten.
// Create a rectangle.
D2D1_RECT_F rectangle = D2D1::Rect(438.0f, 301.5f, 498.0f, 361.5f);
// Draw the rectangle.
m_pRenderTarget->DrawRectangle(
rectangle,
m_pOriginalShapeBrush,
1.0f,
m_pStrokeStyleDash
);
// Apply the rotation transform to the render target.
m_pRenderTarget->SetTransform(
D2D1::Matrix3x2F::Rotation(
45.0f,
D2D1::Point2F(468.0f, 331.5f))
);
// Fill the rectangle.
m_pRenderTarget->FillRectangle(rectangle, m_pFillBrush);
// Draw the transformed rectangle.
m_pRenderTarget->DrawRectangle(rectangle, m_pTransformedShapeBrush);
Följande bild visar effekten av att tillämpa den föregående rotationstransformeringen på kvadraten. Den ursprungliga kvadraten är en prickad kontur och den roterade kvadraten är en heldragen kontur.
Följande bild visar effekten av att rotera med samma vinkel om en annan mittpunkt. Observera att de roterade objekten är i olika positioner i förhållande till originalet. Den vänstra konturerade kvadraten är resultatet av att rotera runt mitten av den ursprungliga kvadraten, och den högra konturerade fyrkanten är resultatet av att rotera runt det övre vänstra hörnet av den ursprungliga kvadraten.
Relaterade ämnen