PathGradientBrush::Metode SetTransform (gdipluspath.h)
Metode PathGradientBrush::SetTransform mengatur matriks transformasi kuas gradien jalur ini.
Sintaks
Status SetTransform(
[in] const Matrix *matrix
);
Parameter
[in] matrix
Jenis: const Matrix*
Penunjuk ke objek Matriks yang menentukan matriks transformasi.
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
Objek PathGradientBrush memiliki objek GraphicsPath yang berfungsi sebagai jalur batas untuk kuas. Saat Anda melukis dengan kuas gradien jalur, hanya area di dalam jalur batas yang diisi. Jika matriks transformasi kuas diatur untuk mewakili transformasi apa pun selain identitas, maka jalur batas diubah sesuai dengan matriks tersebut selama penyajian, dan hanya area di dalam jalur yang diubah yang diisi.
Transformasi hanya berlaku selama penyajian. Jalur batas yang disimpan oleh objek PathGradientBrush tidak diubah oleh metode PathGradientBrush::SetTransform .
Contoh
Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga. Metode Graphics::FillRectangle menggunakan kuas gradien jalur untuk mengecat persegi panjang yang berisi jalur segitiga. Selanjutnya, kode membuat objek Matrix yang mewakili transformasi komposit (memutar, lalu menerjemahkan) dan meneruskan alamat objek Matrix tersebut ke metode PathGradientBrush::SetTransform dari objek PathGradientBrush . Kode ini memanggil FillRectangle untuk kedua kalinya untuk melukis persegi panjang yang sama menggunakan kuas gradien jalur yang diubah.
VOID Example_SetTransform(HDC hdc)
{
Graphics graphics(hdc);
Point pts[] = {
Point(0, 0),
Point(100, 0),
Point(100, 100)};
Color cols[] = {
Color(255, 255, 0, 0), // red
Color(255, 0, 255, 0), // green
Color(255, 0, 0, 0)}; // black
INT count = 3;
PathGradientBrush pthGrBrush(pts, 3);
pthGrBrush.SetSurroundColors(cols, &count);
// Fill an area with the path gradient brush (no transformation).
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 200);
// Set the transformation for the brush (rotate, then translate).
Matrix matrix(0.0f, 1.0f, -1.0f, 0.0f, 150.0f, 60.0f);
pthGrBrush.SetTransform(&matrix);
// Fill the same area with the transformed path gradient brush.
graphics.FillRectangle(&pthGrBrush, 0, 0, 200, 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 | gdipluspath.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
Mengisi Bentuk dengan Gradien Warna
PathGradientBrush::GetTransform
PathGradientBrush::MultiplyTransform
PathGradientBrush::ResetTransform
PathGradientBrush::RotateTransform
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