Fungsi CopyImage (winuser.h)

Membuat gambar baru (ikon, kursor, atau bitmap) dan menyalin atribut gambar yang ditentukan ke yang baru. Jika perlu, fungsi ini meregangkan bit agar sesuai dengan ukuran gambar baru yang diinginkan.

Sintaks

HANDLE CopyImage(
  [in] HANDLE h,
  [in] UINT   type,
  [in] int    cx,
  [in] int    cy,
  [in] UINT   flags
);

Parameter

[in] h

Jenis: HANDEL

Handel ke gambar yang akan disalin.

[in] type

Jenis: UINT

Jenis gambar yang akan disalin. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
IMAGE_BITMAP
0
Menyalin bitmap.
IMAGE_CURSOR
2
Menyalin kursor.
IMAGE_ICON
1
Menyalin ikon.

[in] cx

Jenis: int

Lebar yang diinginkan, dalam piksel, dari gambar. Jika ini nol, maka gambar yang dikembalikan akan memiliki lebar yang sama dengan hImage asli.

[in] cy

Jenis: int

Tinggi yang diinginkan, dalam piksel, gambar. Jika ini nol, maka gambar yang dikembalikan akan memiliki tinggi yang sama dengan hImage asli.

[in] flags

Jenis: UINT

Parameter ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Makna
LR_COPYDELETEORG
0x00000008
Menghapus gambar asli setelah membuat salinan.
LR_COPYFROMRESOURCE
0x00004000
Mencoba memuat ulang ikon atau sumber daya kursor dari file sumber daya asli daripada hanya menyalin gambar saat ini. Ini berguna untuk membuat salinan berukuran berbeda ketika file sumber daya berisi beberapa ukuran sumber daya. Tanpa bendera ini, CopyImage membentangkan gambar asli ke ukuran baru. Jika bendera ini diatur, CopyImage menggunakan ukuran dalam file sumber daya yang paling dekat dengan ukuran yang diinginkan. Ini akan berhasil hanya jika hImage dimuat oleh LoadIcon atau LoadCursor, atau dengan LoadImage dengan bendera LR_SHARED.
LR_COPYRETURNORG
0x00000004
Mengembalikan hImage asli jika memenuhi kriteria untuk salinan—yaitu dimensi dan kedalaman warna yang benar—dalam hal ini bendera LR_COPYDELETEORG diabaikan. Jika bendera ini tidak ditentukan, objek baru selalu dibuat.
LR_CREATEDIBSECTION
0x00002000
Jika ini diatur dan bitmap baru dibuat, bitmap dibuat sebagai bagian DIB. Jika tidak, gambar bitmap dibuat sebagai bitmap yang bergantung pada perangkat. Bendera ini hanya valid jika uTypeIMAGE_BITMAP.
LR_DEFAULTCOLOR
0x00000000
Menggunakan format warna default.
LR_DEFAULTSIZE
0x00000040
Menggunakan lebar atau tinggi yang ditentukan oleh nilai metrik sistem untuk kursor atau ikon, jika nilai cxDesired atau cyDesired diatur ke nol. Jika bendera ini tidak ditentukan dan cxDesired dan cyDesired diatur ke nol, fungsi menggunakan ukuran sumber daya aktual. Jika sumber daya berisi beberapa gambar, fungsi menggunakan ukuran gambar pertama.
LR_MONOCHROME
0x00000001
Membuat gambar monokrom baru.

Nilai kembali

Jenis: HANDEL

Jika fungsi berhasil, nilai yang dikembalikan adalah handel ke gambar yang baru dibuat.

Jika fungsi gagal, nilai yang dikembalikan adalah NULL. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Setelah selesai menggunakan sumber daya, Anda dapat merilis memori terkait dengan memanggil salah satu fungsi dalam tabel berikut.

Sumber daya Fungsi rilis
Bitmap DeleteObject
Kursor DestroyCursor
Ikon DestroyIcon
 

Sistem secara otomatis menghapus sumber daya ketika prosesnya berakhir, namun, memanggil fungsi yang sesuai menghemat memori dan mengurangi ukuran set kerja proses.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (sertakan Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-gui-l1-3-0 (diperkenalkan dalam Windows 10, versi 10.0.10240)

Lihat juga

Konseptual

LoadImage

Referensi

Sumber