Cara Memutar Objek
Topik ini menjelaskan cara memutar objek tentang titik tertentu. Untuk memutar objek, panggil metode Matrix3x2F::Rotation . Metode ini mengambil dua parameter, sudut yang ditentukan dan titik tengah. Sudutnya adalah sudut rotasi searah jarum jam dalam derajat, dan titik tengah adalah titik di mana objek berputar. Titik tengah dinyatakan dalam sistem koordinat objek yang diubah.
Misalnya, kode berikut memutar persegi searah jajar 45 derajat tentang tengah persegi.
// 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);
Ilustrasi berikut menunjukkan efek menerapkan transformasi rotasi sebelumnya ke kuadrat. Persegi asli adalah kerangka putus-putus, dan persegi yang diputar adalah kerangka yang solid.
Ilustrasi berikut menunjukkan efek memutar dengan sudut yang sama tentang titik tengah yang berbeda. Perhatikan bahwa objek yang diputar berada di posisi yang berbeda relatif terhadap aslinya. Persegi kerangka kiri adalah hasil memutar tentang tengah persegi asli, dan persegi kerangka kanan adalah hasil memutar di sudut kiri atas persegi asli.
Topik terkait