Grafis::D rawImage(Image*,constPoint*,INT,INT,INT,INT,Unit,constImageAttributes*,DrawImageAbort,VOID*) metode (gdiplusgraphics.h)
Metode Graphics::D rawImage menggambar gambar.
Sintaks
Status DrawImage(
[in] Image *image,
[in] const Point *destPoints,
[in] INT count,
[in] INT srcx,
[in] INT srcy,
[in] INT srcwidth,
[in] INT 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 Point*
Penunjuk ke array objek Titik yang menentukan area, dalam parallelogram, untuk menggambar gambar.
[in] count
Jenis: INT
Bilangan bulat yang menentukan jumlah elemen dalam array destPoints .
[in] srcx
Jenis: INT
Angka riil yang menentukan koordinat x dari sudut kiri atas bagian gambar sumber yang akan digambar.
[in] srcy
Jenis: INT
Angka riil yang menentukan koordinat y dari sudut kiri atas bagian gambar sumber yang akan digambar.
[in] srcwidth
Jenis: INT
Angka riil yang menentukan lebar bagian gambar sumber yang akan digambar.
[in] srcheight
Jenis: INT
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 tiga sudut parallelogram. Sudut keempat parallelogram dihitung menggunakan vektor koordinat pertama dan kedua dan koordinat pertama dan ketiga. 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_DrawImage2(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.
int srcX = 70;
int srcY = 20;
int srcWidth = 100;
int srcHeight = 100;
// Create an array of Point objects that specify the destination of the cropped image.
Point destPoints[3] = {
Point(230, 30),
Point(350, 50),
Point(275, 120)};
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.
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 | gdiplusgraphics.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk