Come ruotare un oggetto
Questo argomento descrive come ruotare un oggetto su un punto specificato. Per ruotare un oggetto, chiamare il metodo Matrix3x2F::Rotation . Questo metodo accetta due parametri, l'angolo specificato e il punto centrale. L'angolo è un angolo di rotazione in senso orario in gradi e il punto centrale è il punto su cui ruota l'oggetto. Il punto centrale è espresso nel sistema di coordinate dell'oggetto trasformato.
Ad esempio, il codice seguente ruota un quadrato a 45 gradi circa il centro del quadrato.
// 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);
La figura seguente mostra l'effetto dell'applicazione della trasformazione di rotazione precedente al quadrato. Il quadrato originale è un contorno punteggiato e il quadrato ruotato è un contorno solido.
La figura seguente mostra l'effetto della rotazione dello stesso angolo circa un punto centrale diverso. Si noti che gli oggetti ruotati si trovano in posizioni diverse rispetto all'originale. Il quadrato descritto a sinistra è il risultato della rotazione sul centro del quadrato originale e il quadrato descritto a destra è il risultato della rotazione sull'angolo superiore sinistro del quadrato originale.
Argomenti correlati
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per