PathGradientBrush::ScaleTransform method (gdipluspath.h)

Metode PathGradientBrush::ScaleTransform memperbarui matriks transformasi kuas saat ini dengan produk itu sendiri dan matriks penskalaan.

Sintaks

Status ScaleTransform(
  [in] REAL        sx,
  [in] REAL        sy,
  [in] MatrixOrder order
);

Parameter

[in] sx

Jenis: REAL

Angka riil yang menentukan faktor skala horizontal.

[in] sy

Jenis: REAL

Angka riil yang menentukan faktor skala vertikal.

[in] order

Jenis: MatrixOrder

Pilihan. Elemen enumerasi MatrixOrder yang menentukan urutan perkalian. MatrixOrderPrepend menentukan bahwa matriks penskalaan berada di sebelah kiri, dan MatrixOrderAppend menentukan bahwa matriks penskalaan berada di sebelah kanan. Nilai defaultnya adalah MatrixOrderPrepend.

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

Satu matriks 3 ×3 dapat menyimpan urutan transformasi affine apa pun. Jika Anda memiliki beberapa 3 matriks ×3, yang masing-masing mewakili transformasi afin, produk matriks tersebut adalah matriks 3 ×3 tunggal yang mewakili seluruh urutan transformasi. Transformasi yang diwakili oleh produk tersebut disebut transformasi komposit. Misalnya, misalkan matriks T mewakili terjemahan dan matriks S mewakili penskalaan. Jika matriks M adalah produk TS, maka matriks M mewakili transformasi komposit: terjemahkan terlebih dahulu, lalu skalakan.

Contoh

Contoh berikut membuat objek PathGradientBrush berdasarkan jalur segitiga. Panggilan ke metode PathGradientBrush::TranslateTransform dan PathGradientBrush::ScaleTransform dari objek PathGradientBrush mengatur elemen matriks transformasi kuas sehingga mewakili transformasi komposit: pertama terjemahkan, lalu skalakan. Kode menggunakan kuas gradien jalur dua kali untuk melukis persegi panjang: sekali sebelum transformasi diatur dan sekali setelah transformasi diatur.

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

   // Create a path gradient brush based on an array of points.
   Point pts[] = {Point(0, 0), Point(50, 0), Point(50, 50)};
   PathGradientBrush pthGrBrush(pts, 3);

   // Fill an area with the path gradient brush (no transformation).
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500);

   pthGrBrush.TranslateTransform(50.0f, 40.0f);               // translate
   pthGrBrush.ScaleTransform(3.0f, 2.0f, MatrixOrderAppend);  // then scale

   // Fill the same area with the transformed path gradient brush.
   graphics.FillRectangle(&pthGrBrush, 0, 0, 500, 500); 
}

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

Membuat Gradien Jalur

Mengisi Bentuk dengan Gradien Warna

Matrix

Representasi Transformasi Matriks

MatrixOrder

PathGradientBrush

PathGradientBrush::GetTransform

PathGradientBrush::MultiplyTransform

PathGradientBrush::ResetTransform

PathGradientBrush::RotateTransform

PathGradientBrush::SetTransform

PathGradientBrush::TranslateTransform

Transformasi