PathGradientBrush::TranslateTransform method (gdipluspath.h)
Metode PathGradientBrush::TranslateTransform memperbarui matriks transformasi kuas saat ini dengan produk itu sendiri dan matriks terjemahan.
Sintaks
Status TranslateTransform(
[in] REAL dx,
[in] REAL dy,
[in] MatrixOrder order
);
Parameter
[in] dx
Jenis: REAL
Angka riil yang menentukan komponen horizontal terjemahan.
[in] dy
Jenis: REAL
Angka riil yang menentukan komponen vertikal terjemahan.
[in] order
Jenis: MatrixOrder
Opsional. Elemen enumerasi MatrixOrder yang menentukan urutan perkalian. MatrixOrderPrepend menentukan bahwa matriks terjemahan berada di sebelah kiri, dan MatrixOrderAppend menentukan bahwa matriks terjemahan 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
Satu matriks 3 ×3 dapat menyimpan urutan transformasi affine apa pun. Jika Anda memiliki beberapa 3 matriks ×3, 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 S mewakili penskalaan dan matriks T mewakili terjemahan. Jika matriks M adalah ST produk, maka matriks M mewakili transformasi komposit: skala pertama, lalu terjemahkan.
Contoh
Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga. Panggilan ke metode PathGradientBrush::ScaleTransform dan PathGradientBrush::TranslateTransform dari objek PathGradientBrush mengatur elemen matriks transformasi kuas sehingga mewakili transformasi komposit: skala pertama, lalu terjemahkan. Kode menggunakan kuas gradien jalur dua kali untuk melukis persegi panjang: sekali sebelum transformasi diatur dan sekali setelah transformasi diatur.
VOID Example_TranslateTrans(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
PathGradientBrush pthGrBrush(pts, 3);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
pthGrBrush.ScaleTransform(3.0f, 1.0f);
pthGrBrush.TranslateTransform(100.0f, 50.0f, MatrixOrderAppend);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);
}
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 | gdipluspath.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
Mengisi Bentuk dengan Gradien Warna
Representasi Transformasi Matriks
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform
PathGradientBrush::ScaleTransform
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk