Bagikan melalui


TextureBrush::Metode ScaleTransform (gdiplusbrush.h)

Metode TextureBrush::ScaleTransform memperbarui matriks transformasi kuas tekstur ini 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 jumlah untuk diskalakan ke arah x.

[in] sy

Jenis: REAL

Angka riil yang menentukan jumlah untuk diskalakan ke arah y.

[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.

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

Satu matriks 3×3 dapat menyimpan urutan transformasi affine apa pun. Jika Anda memiliki beberapa 3×3 matriks, 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.

Urutan perkalian matriks penting. Secara umum, RT produk matriks tidak sama dengan produk matriks TR. Dalam contoh yang diberikan dalam paragraf sebelumnya, transformasi komposit yang diwakili oleh RT (putar pertama, lalu terjemahkan) tidak sama dengan transformasi komposit yang diwakili oleh TR (terjemahkan pertama, lalu putar).

Contoh

Contoh berikut membuat kuas tekstur dan mengatur transformasi kuas. Kode kemudian menggunakan kuas yang diubah untuk mengisi persegi panjang.

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

   Image image(L"HouseAndTree.Gif");
   TextureBrush textureBrush(&image);
   textureBrush.RotateTransform(30);                      // first rotate
   textureBrush.ScaleTransform(3, 1, MatrixOrderAppend);  // then scale
   graphics.FillRectangle(&textureBrush, 0, 0, 400, 200);
}

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 gdiplusbrush.h (termasuk Gdiplus.h)
Pustaka Gdiplus.lib
DLL Gdiplus.dll

Lihat juga

Kuas dan Bentuk Terisi

Mengisi Bentuk dengan Sikat Gradien

Gambar

Matrix

Representasi Transformasi Matriks

MatrixOrder

TextureBrush

TextureBrush::GetTransform

TextureBrush::MultiplyTransform

TextureBrush::RotateTransform

TextureBrush::SetTransform

TextureBrush::TranslateTransform

Transformasi