PathGradientBrush::Metode GetInterpolationColorCount (gdipluspath.h)

Metode PathGradientBrush::GetInterpolationColorCount mendapatkan jumlah warna preset yang saat ini ditentukan untuk kuas gradien jalur ini.

Sintaks

INT GetInterpolationColorCount();

Mengembalikan nilai

Jenis: INT

Metode ini mengembalikan jumlah warna prasetel yang saat ini ditentukan untuk sikat gradien jalur ini.

Keterangan

Sikat gradien jalur sederhana memiliki dua warna: warna batas dan warna tengah. Ketika Anda melukis dengan kuas seperti itu, warna berubah secara bertahap dari warna batas ke warna tengah saat Anda berpindah dari jalur batas ke titik tengah. Anda dapat membuat gradien yang lebih kompleks dengan menentukan array warna preset dan array posisi campuran.

Anda dapat memperoleh warna interpolasi dan posisi interpolasi yang saat ini diatur untuk objek PathGradientBrush dengan memanggil metode PathGradientBrush::GetInterpolationColors dari objek PathGradientBrush tersebut. Sebelum Anda memanggil metode PathGradientBrush::GetInterpolationColors , Anda harus mengalokasikan dua buffer: satu untuk menahan array warna interpolasi dan satu untuk menahan array posisi interpolasi. Anda dapat memanggil metode PathGradientBrush::GetInterpolationColorCount dari objek PathGradientBrush untuk menentukan ukuran buffer yang diperlukan. Ukuran buffer warna adalah nilai pengembalian GetInterpolationColorCount dikalikan dengan sizeof(Color). Ukuran buffer posisi adalah nilai PathGradientBrush::GetInterpolationColorCount dikalikan dengan sizeof( REAL).

Contoh

Contoh berikut membuat objek PathGradientBrush dari jalur segitiga. Kode mengatur warna prasetel ke merah, biru, dan aqua dan mengatur posisi campuran ke 0, 0,6, dan 1. Kode memanggil metode PathGradientBrush::GetInterpolationColorCount dari objek PathGradientBrush untuk mendapatkan jumlah warna preset yang saat ini ditetapkan untuk kuas. Selanjutnya, kode mengalokasikan dua buffer: satu untuk menahan array warna prasetel, dan satu untuk menahan array posisi campuran. Panggilan ke metode PathGradientBrush::GetInterpolationColors dari objek PathGradientBrush mengisi buffer dengan warna preset dan posisi campuran. Akhirnya kode mengisi persegi kecil dengan masing-masing warna preset.

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

   // Create a path gradient brush from an array of points, and
   // set the interpolation colors for that brush.

   Point points[] = {Point(100, 0), Point(200, 200), Point(0, 200)};
   PathGradientBrush pthGrBrush(points, 3);

   Color col[] = {
      Color(255, 255, 0, 0),     // red
      Color(255, 0, 0, 255),     // blue
      Color(255, 0, 255, 255)};  // aqua

   REAL pos[] = {
      0.0f,    // red at the boundary
      0.6f,    // blue 60 percent of the way from the boundary to the center
      1.0f};   // aqua at the center

   pthGrBrush.SetInterpolationColors(col, pos, 3);

   // Obtain information about the path gradient brush.
   INT colorCount = pthGrBrush.GetInterpolationColorCount();
   Color* colors = new Color[colorCount];
   REAL* positions = new REAL[colorCount];
   pthGrBrush.GetInterpolationColors(colors, positions, colorCount);

   // Fill a small square with each of the interpolation 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;
   delete [] positions; 
}

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::GetInterpolationColors

PathGradientBrush::SetInterpolationColors