TextureBrush::RotateTransform method (gdiplusbrush.h)
Metode TextureBrush::RotateTransform memperbarui matriks transformasi kuas tekstur ini saat ini dengan produk itu sendiri dan matriks rotasi.
Sintaks
Status RotateTransform(
[in] REAL angle,
[in] MatrixOrder order
);
Parameter
[in] angle
Jenis: NYATA
Angka riil yang menentukan sudut, dalam derajat, rotasi.
[in] order
Jenis: MatrixOrder
Opsional. Elemen enumerasi MatrixOrder yang menentukan urutan perkalian. MatrixOrderPrepend menentukan bahwa matriks rotasi berada di sebelah kiri, dan MatrixOrderAppend menentukan bahwa matriks rotasi berada di sebelah kanan. Nilai defaultnya adalah MatrixOrderPrepend.
Nilai kembali
Jenis: Status
Jika metode berhasil, metode mengembalikan Ok, yang merupakan elemen dari enumerasi Status .
Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status .
Keterangan
Matriks 3×3 tunggal dapat menyimpan urutan transformasi affine apa pun. Jika Anda memiliki beberapa 3×3 matriks, yang masing-masing mewakili transformasi afin, produk matriks tersebut adalah matriks 3×3 tunggal yang mewakili seluruh urutan transformasi. Transformasi yang diwakili oleh produk tersebut disebut transformasi komposit. Misalnya, misalkan matriks R mewakili rotasi, dan matriks T mewakili terjemahan. Jika matriks M adalah RT produk, maka matriks M mewakili transformasi komposit: putar terlebih dahulu, lalu terjemahkan.
Urutan perkalian matriks penting. Secara umum, matriks produk RT tidak sama dengan produk matriks TR. Dalam contoh yang diberikan dalam paragraf sebelumnya, transformasi komposit yang diwakili oleh RT (putar pertama, lalu terjemahkan) tidak sama dengan transformasi komposit yang diwakili oleh TR (terjemahkan terlebih dahulu, lalu putar).
Contoh
Contoh berikut membuat kuas tekstur dan mengatur transformasi kuas. Kode kemudian menggunakan kuas yang diubah untuk mengisi persegi panjang.
VOID Example_RotateTransform(HDC hdc)
{
Graphics graphics(hdc);
Image image(L"HouseAndTree.Gif");
TextureBrush textureBrush(&image);
textureBrush.ScaleTransform(3, 1); // first scale
textureBrush.RotateTransform(30, MatrixOrderAppend); // then rotate
graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP, Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | gdiplusbrush.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
Mengisi Bentuk dengan Sikat Gradien
Representasi Transformasi Matriks