Metode PathGradientBrush::SetFocusScales (gdipluspath.h)

Metode PathGradientBrush::SetFocusScales menetapkan skala fokus kuas gradien jalur ini.

Sintaks

Status SetFocusScales(
  [in] REAL xScale,
  [in] REAL yScale
);

Parameter

[in] xScale

Jenis: NYATA

Angka riil yang menentukan skala fokus x.

[in] yScale

Jenis: NYATA

Angka riil yang menentukan skala fokus y.

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

Secara default, warna tengah gradien jalur berada di titik tengah. Dengan memanggil PathGradientBrush::SetFocusScales, Anda dapat menentukan bahwa warna tengah akan muncul di sepanjang jalur yang mengelilingi titik tengah. Jalur itu adalah jalur batas yang diskalakan oleh faktor xScale ke arah x dan oleh faktor yScale ke arah y. Area di dalam jalur berskala diisi dengan warna tengah.

Contoh

Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga. Kode ini memanggil metode PathGradientBrush::SetFocusScales dari objek PathGradientBrush untuk mengatur skala fokus kuas ke (0,2, 0,2). Kemudian kode menggunakan kuas gradien jalur untuk melukis persegi panjang yang mencakup jalur segitiga.

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

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

   // No GraphicsPath object is created. The PathGradientBrush
   // object is constructed directly from the array of points.
   PathGradientBrush pthGrBrush(points, 3);

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

   REAL relativePositions[] = {
      0.0f,    // red at the boundary of the outer triangle
      1.0f};   // blue at the boundary of the inner triangle

   pthGrBrush.SetInterpolationColors(colors, relativePositions, 2);

   // The inner triangle is formed by scaling the outer triangle
   // about its centroid. The scaling factor is 0.2 in both
   // the x and y directions.
   pthGrBrush.SetFocusScales(0.2f, 0.2f);

   // Fill a rectangle that is larger than the triangle
   // specified in the Point array. The portion of the
   // rectangle outside the triangle will not be painted.
   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

PathGradientBrush

PathGradientBrush::GetFocusScales

PathGradientBrush::SetInterpolationColors