Metode PathGradientBrush::GetFocusScales (gdipluspath.h)

Metode PathGradientBrush::GetFocusScales mendapatkan skala fokus dari sikat gradien jalur ini.

Sintaks

Status GetFocusScales(
  [out] REAL *xScale,
  [out] REAL *yScale
);

Parameter

[out] xScale

Jenis: REAL*

Penunjuk ke REAL yang menerima nilai skala fokus x.

[out] yScale

Jenis: REAL*

Penunjuk ke REAL yang menerima nilai skala fokus y.

Menampilkan nilai

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. Misalnya, jalur batas adalah segitiga dan titik tengah berada di sentroid segitiga itu. Asumsikan juga bahwa warna batas berwarna merah dan warna tengah berwarna biru. Jika Anda mengatur skala fokus ke (0,2, 0,2), warnanya biru di sepanjang batas segitiga kecil yang mengelilingi titik tengah. Segitiga kecil itu adalah jalur batas utama yang diskalakan oleh faktor 0,2 ke arah x dan 0,2 ke arah y. Ketika Anda melukis dengan jalur sikat gradien, warna akan berubah secara bertahap dari merah ke biru saat Anda bergerak dari batas segitiga besar ke batas segitiga kecil. Area di dalam segitiga kecil akan diisi dengan biru.

Contoh

Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga. Kode menetapkan skala fokus kuas gradien jalur ke (0,2, 0,2) lalu menggunakan kuas gradien jalur untuk mengisi area yang berisi jalur segitiga. Terakhir, kode memanggil metode PathGradientBrush::GetFocusScales dari objek PathGradientBrush untuk mendapatkan nilai skala fokus x dan skala fokus y.

VOID Example_GetFocusScales(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);

   // Obtain information about the path gradient brush.
   REAL xScale = 0.0f;
   REAL yScale = 0.0f;
   pthGrBrush.GetFocusScales(&xScale, &yScale);

   // The value of xScale is now 0.2.
   // The value of yScale is now 0.2. 
}

Persyaratan

   
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

Mengisi Bentuk dengan Gradien Warna

GraphicsPath

PathGradientBrush

PathGradientBrush::SetFocusScales