CopyImage, fonction (winuser.h)

Crée une image (icône, curseur ou bitmap) et copie les attributs de l’image spécifiée dans la nouvelle image. Si nécessaire, la fonction étire les bits pour qu’elles correspondent à la taille souhaitée de la nouvelle image.

Syntaxe

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

Paramètres

[in] h

Type : HANDLE

Handle vers l’image à copier.

[in] type

Type : UINT

Type d’image à copier. Ce paramètre peut être l’une des valeurs suivantes.

Valeur Sens
IMAGE_BITMAP
0
Copie une bitmap.
IMAGE_CURSOR
2
Copie un curseur.
IMAGE_ICON
1
Copie une icône.

[in] cx

Type : int

Largeur souhaitée, en pixels, de l’image. S’il s’agit de zéro, l’image retournée aura la même largeur que l’image hImage d’origine.

[in] cy

Type : int

Hauteur souhaitée, en pixels, de l’image. S’il s’agit de zéro, l’image retournée aura la même hauteur que l’image hImage d’origine.

[in] flags

Type : UINT

Ce paramètre peut prendre l’une ou plusieurs des valeurs suivantes.

Valeur Sens
LR_COPYDELETEORG
0x00000008
Supprime l’image d’origine après avoir créé la copie.
LR_COPYFROMRESOURCE
0x00004000
Tente de recharger une icône ou une ressource de curseur à partir du fichier de ressources d’origine plutôt que de simplement copier l’image actuelle. Cela est utile pour créer une copie de taille différente lorsque le fichier de ressources contient plusieurs tailles de la ressource. Sans cet indicateur, CopyImage étire l’image d’origine à la nouvelle taille. Si cet indicateur est défini, CopyImage utilise la taille dans le fichier de ressources le plus proche de la taille souhaitée. Cela réussit uniquement si hImage a été chargé par LoadIcon ou LoadCursor, ou par LoadImage avec l’indicateur LR_SHARED.
LR_COPYRETURNORG
0x00000004
Retourne l’image hImage d’origine si elle répond aux critères de la copie, c’est-à-dire des dimensions correctes et de la profondeur de couleur, auquel cas l’indicateur de LR_COPYDELETEORG est ignoré. Si cet indicateur n’est pas spécifié, un nouvel objet est toujours créé.
LR_CREATEDIBSECTION
0x00002000
Si ce paramètre est défini et qu’une nouvelle bitmap est créée, la bitmap est créée en tant que section DIB. Sinon, l’image bitmap est créée en tant que bitmap dépendante de l’appareil. Cet indicateur n’est valide que si uType est IMAGE_BITMAP.
LR_DEFAULTCOLOR
0x00000000
Utilise le format de couleur par défaut.
LR_DEFAULTSIZE
0x00000040
Utilise la largeur ou la hauteur spécifiées par les valeurs de métrique système pour les curseurs ou les icônes, si les valeurs cx ou cy sont définies sur zéro. Si cet indicateur n’est pas spécifié et que cy et cx sont définis sur zéro, la fonction utilise la taille réelle des ressources. Si la ressource contient plusieurs images, la fonction utilise la taille de la première image.
LR_MONOCHROME
0x00000001
Crée une image monochrome.

Valeur renvoyée

Type : HANDLE

Si la fonction réussit, la valeur de retour est le handle de l’image nouvellement créée.

Si la fonction échoue, la valeur de retour est NULL. Pour obtenir des informations d’erreur étendues, appelez GetLastError.

Remarques

Lorsque vous avez terminé d’utiliser la ressource, vous pouvez libérer sa mémoire associée en appelant l’une des fonctions du tableau suivant.

Ressource Fonction Release
Bitmap DeleteObject
Curseur DestroyCursor
Icône DestroyIcon
 

Le système supprime automatiquement la ressource lorsque son processus se termine, mais l’appel de la fonction appropriée enregistre la mémoire et diminue la taille du jeu de travail du processus.

Exigences

Requirement Valeur
Client minimum requis Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
En-tête winuser.h (include Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-gui-l1-3-0 (introduit dans Windows 10, version 10.0.10240)

Voir aussi

conceptuelle

LoadImage

Référence

Ressources