Partager via


Fonction CopyImage (winuser.h)

Crée une image (icône, curseur ou bitmap) et copie les attributs de l’image spécifiée dans la nouvelle. Si nécessaire, la fonction étire les bits pour s’adapter à 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 de l’image à copier.

[in] type

Type : UINT

Type d’image à copier. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
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. Si cette valeur est égale à 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. Si cette valeur est égale à 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 une ou plusieurs des valeurs suivantes.

Valeur Signification
LR_COPYDELETEORG
0x00000008
Supprime l’image d’origine après la création de 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 étend 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, les dimensions et la profondeur de couleur correctes), auquel cas l’indicateur 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 image 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 cxDesired ou cyDesired sont définies sur zéro. Si cet indicateur n’est pas spécifié et que cxDesired et cyDesired sont définis sur zéro, la fonction utilise la taille de ressource réelle. 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 retourné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étaillées sur l’erreur, appelez GetLastError.

Remarques

Lorsque vous avez terminé d’utiliser la ressource, vous pouvez libérer la 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 à l’arrêt de son processus. Toutefois, l’appel de la fonction appropriée permet d’économiser de la mémoire et de réduire la taille de l’ensemble de travail du processus.

Configuration requise

Condition requise Valeur
Client minimal pris en charge 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 (inclure 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

Conceptuel

LoadImage

Référence

Ressources