Metode PathGradientBrush::GetSurroundColors (gdipluspath.h)

Metode PathGradientBrush::GetSurroundColors mendapatkan warna surround yang saat ini ditentukan untuk sikat gradien jalur ini.

Sintaks

Status GetSurroundColors(
  [in]      Color *colors,
  [in, out] INT   *count
);

Parameter

[in] colors

Jenis: Warna*

Penunjuk ke array yang menerima warna surround.

[in, out] count

Jenis: INT*

Penunjuk ke bilangan bulat yang, pada input, menentukan jumlah warna yang diminta. Jika metode berhasil, parameter ini, pada output, menerima jumlah warna yang diambil. Jika metode gagal, parameter ini tidak menerima nilai.

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

Sikat gradien jalur memiliki jalur batas dan titik tengah. Titik tengah diatur ke satu warna, tetapi Anda dapat menentukan warna yang berbeda untuk beberapa titik pada batas. Misalnya, Anda menentukan merah untuk warna tengah, dan Anda menentukan biru, hijau, dan kuning untuk titik yang berbeda pada batas. Kemudian saat Anda bergerak di sepanjang batas, warna akan berubah secara bertahap dari biru ke hijau menjadi kuning dan kembali ke biru. Saat Anda bergerak di sepanjang garis lurus dari titik mana pun di batas ke titik tengah, warna akan berubah dari warna titik batas tersebut menjadi merah.

Contoh

Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga yang ditentukan oleh array tiga titik. Kode memanggil metode PathGradientBrush::SetSurroundColors dari objek PathGradientBrush untuk menentukan warna untuk setiap titik yang menentukan segitiga. Metode PathGradientBrush::GetSurroundColorCount menentukan jumlah warna surround saat ini (warna yang ditentukan untuk jalur batas kuas). Selanjutnya, kode mengalokasikan buffer yang cukup besar untuk menerima array warna surround dan memanggil PathGradientBrush::GetSurroundColors untuk mengisi buffer tersebut. Akhirnya kode mengisi persegi kecil dengan masing-masing warna sekitar kuas.

VOID Example_GetSurColors(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path gradient brush and set its surround colors.
   Point pts[] = {
      Point(20, 20), 
      Point(100, 20), 
      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);
   
   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetSurroundColorCount();
   Color* colors = new Color[colorCount];
   pthGrBrush.GetSurroundColors(colors, &colorCount);

   // Fill a small square with each of the surround colors.
   SolidBrush solidBrush(Color(255, 255, 255, 255));

   for(INT j = 0; j < colorCount; ++j)
   {
      solidBrush.SetColor(colors[j]);
      graphics.FillRectangle(&solidBrush, 15*j, 0, 10, 10);
   }

   delete [] colors;
}

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

Warna

Membuat Gradien Jalur

Mengisi Bentuk dengan Gradien Warna

PathGradientBrush

PathGradientBrush::GetSurroundColorCount

PathGradientBrush::SetSurroundColors