Cara Memutar Objek
Topik ini menjelaskan cara memutar objek pada titik tertentu. Untuk memutar objek, panggil metode Matrix3x2F::Rotation. Metode ini mengambil dua parameter, sudut yang ditentukan dan titik tengah. Sudut 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 jarum jam 45 derajat sekitar pusat 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 bergaris putus-putus, dan persegi yang diputar adalah bergaris penuh.
Ilustrasi berikut menunjukkan efek memutar dengan sudut yang sama terhadap titik pusat yang berbeda. Perhatikan bahwa objek yang diputar berada dalam posisi yang berbeda relatif terhadap yang asli. Persegi bergaris kiri adalah hasil memutar sekitar tengah persegi asli, dan persegi bergaris kanan adalah hasil memutar sekitar sudut kiri atas persegi asli.
Topik terkait