Grafis::D rawImage(Image*,constPointF*,INT,REAL,REAL,REAL,Unit,constImageAttributes*,DrawImageAbort,VOID*) metode (gdiplusgraphics.h)

Metode Graphics::D rawImage menggambar gambar.

Sintaks

Status DrawImage(
  [in] Image                 *image,
  [in] const PointF          *destPoints,
  [in] INT                   count,
  [in] REAL                  srcx,
  [in] REAL                  srcy,
  [in] REAL                  srcwidth,
  [in] REAL                  srcheight,
  [in] Unit                  srcUnit,
  [in] const ImageAttributes *imageAttributes,
  [in] DrawImageAbort        callback,
  [in] VOID                  *callbackData
);

Parameter

[in] image

Jenis: Gambar*

Penunjuk ke objek Gambar yang menentukan gambar sumber.

[in] destPoints

Jenis: const PointF*

Penunjuk ke array objek PointF yang menentukan area, dalam parallelogram, untuk menggambar gambar.

[in] count

Jenis: INT

Bilangan bulat yang menentukan jumlah elemen dalam array destPoints .

[in] srcx

Jenis: REAL

Angka riil yang menentukan koordinat x dari sudut kiri atas bagian gambar sumber yang akan digambar.

[in] srcy

Jenis: REAL

Angka riil yang menentukan koordinat y dari sudut kiri atas bagian gambar sumber yang akan digambar.

[in] srcwidth

Jenis: REAL

Angka riil yang menentukan lebar bagian gambar sumber yang akan digambar.

[in] srcheight

Jenis: REAL

Angka riil yang menentukan tinggi bagian gambar sumber yang akan digambar.

[in] srcUnit

Jenis: Unit

Elemen enumerasi Unit yang menentukan satuan pengukuran untuk gambar. Nilai defaultnya adalah UnitPixel.

[in] imageAttributes

Jenis: ImageAttributes*

Penunjuk ke objek ImageAttributes yang menentukan atribut warna dan ukuran gambar yang akan digambar. Nilai defaultnya adalah NULL.

[in] callback

Jenis: DrawImageAbort

Metode panggilan balik yang digunakan untuk membatalkan gambar yang sedang berlangsung. Nilai defaultnya adalah NULL.

[in] callbackData

Jenis: VOID*

Penunjuk ke data tambahan yang digunakan oleh metode yang ditentukan oleh parameter panggilan balik . Nilai defaultnya adalah NULL.

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

Nilai parameter hitungan harus sama dengan 3 untuk menentukan koordinat sudut kiri atas, sudut kanan atas, dan sudut kiri bawah parallelogram. Koordinat sudut kanan bawah dihitung menggunakan tiga koordinat yang diberikan, lebar, dan tinggi gambar. Bagian gambar sumber yang akan digambar diskalakan agar pas dengan parallelogram.

Contoh

Contoh berikut menggambar gambar sumber asli lalu menggambar sebagian gambar dalam parallelogram tertentu.

VOID Example_DrawImage4(HDC hdc)

{

   Graphics graphics(hdc);

   // Create an Image object.
   Image image(L"pattern.png");

   // Draw the original source image.
   graphics.DrawImage(&image, 10, 10);

   // Define the portion of the image to draw.
   REAL srcX = 70.0f;
   REAL srcY = 20.0f;
   REAL srcWidth = 100.0f;
   REAL srcHeight = 100.0f;

   // Create an array of Point objects that specify the destination of the cropped image.
   PointF destPoints[3] = {
   PointF(230.0f, 30.0f),
   PointF(350.0f, 50.0f),
   PointF(275.0f, 120.0f)};

   Point* pdestPoints = destPoints; 

   // Create an ImageAttributes object that specifies a recoloring from red to blue.
   ImageAttributes remapAttributes;
   ColorMap redToBlue;
   redToBlue.oldColor = Color(255, 255, 0, 0);
   redToBlue.newColor = Color(255, 0, 0, 255);
   remapAttributes.SetRemapTable(1, &redToBlue);

   // Draw the cropped image.
   graphics.DrawImage(
   &image,
   pdestPoints,
   3,
   srcX,
   srcY,
   srcWidth,
   srcHeight,
   UnitPixel,
   &remapAttributes,
   NULL,
   NULL);
}

Ilustrasi berikut menunjukkan output kode sebelumnya.

Ilustrasi yang menunjukkan pola papan centang multiwarna, lalu subset pola itu yang diperbesar dan dua ton, digiring ke parallelogram

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

Lihat juga

Gambar Gambar, Posisi, dan Kloning

Grafik

Gambar

ImageAttributes

Memuat dan Menampilkan Bitmap

Titik

SetRemapTable

Unit