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

Kuas dan Bentuk Terisi

Membuat Gradien Jalur

Mengisi Bentuk dengan Gradien Warna

GraphicsPath

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::ScaleTransform

PathGradientBrush::TranslateTransform