Funzione CopyImage (winuser.h)

Crea una nuova immagine (icona, cursore o bitmap) e copia gli attributi dell'immagine specificata nella nuova immagine. Se necessario, la funzione estende i bit in base alle dimensioni desiderate della nuova immagine.

Sintassi

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

Parameters

[in] h

Tipo: HANDLE

Handle per l'immagine da copiare.

[in] type

Tipo: UINT

Tipo di immagine da copiare. Questo parametro può essere uno dei valori seguenti.

Value Meaning
IMAGE_BITMAP
0
Copia una bitmap.
IMAGE_CURSOR
2
Copia un cursore.
IMAGE_ICON
1
Copia un'icona.

[in] cx

Tipo: int

Larghezza desiderata, in pixel, dell'immagine. Se è zero, l'immagine restituita avrà la stessa larghezza dell'immagine originale hImage.

[in] cy

Tipo: int

Altezza desiderata, in pixel, dell'immagine. Se questo è zero, l'immagine restituita avrà la stessa altezza dell'immagine originale hImage.

[in] flags

Tipo: UINT

Questo parametro può essere uno o più dei valori seguenti.

Value Meaning
LR_COPYDELETEORG
0x00000008
Elimina l'immagine originale dopo la creazione della copia.
LR_COPYFROMRESOURCE
0x00004000
Prova a ricaricare un'icona o una risorsa cursore dal file di risorse originale anziché semplicemente copiare l'immagine corrente. Ciò è utile per la creazione di una copia di dimensioni diverse quando il file di risorse contiene più dimensioni della risorsa. Senza questo flag, CopyImage estende l'immagine originale alle nuove dimensioni. Se questo flag è impostato, CopyImage usa le dimensioni del file di risorse più vicine alle dimensioni desiderate. Questa operazione avrà esito positivo solo se hImage è stato caricato da LoadIcon o LoadCursor o da LoadImage con il flag LR_SHARED.
LR_COPYRETURNORG
0x00000004
Restituisce l'hImage originale se soddisfa i criteri per la copia, ovvero dimensioni corrette e profondità del colore, nel qual caso il flag LR_COPYDELETEORG viene ignorato. Se questo flag non viene specificato, viene sempre creato un nuovo oggetto.
LR_CREATEDIBSECTION
0x00002000
Se questo è impostato e viene creata una nuova bitmap, la bitmap viene creata come sezione DIB. In caso contrario, l'immagine bitmap viene creata come bitmap dipendente dal dispositivo. Questo flag è valido solo se uType è IMAGE_BITMAP.
LR_DEFAULTCOLOR
0x00000000
Usa il formato di colore predefinito.
LR_DEFAULTSIZE
0x00000040
Usa la larghezza o l'altezza specificata dai valori delle metriche di sistema per cursori o icone, se i valori cx o cy sono impostati su zero. Se questo flag non è specificato e cx e cy sono impostati su zero, la funzione usa le dimensioni effettive della risorsa. Se la risorsa contiene più immagini, la funzione usa le dimensioni della prima immagine.
LR_MONOCHROME
0x00000001
Crea una nuova immagine monocromatica.

Valore restituito

Tipo: HANDLE

Se la funzione ha esito positivo, il valore restituito è l'handle dell'immagine appena creata.

Se la funzione ha esito negativo, il valore restituito è NULL. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni:

Al termine dell'uso della risorsa, è possibile rilasciare la memoria associata chiamando una delle funzioni nella tabella seguente.

risorsa Funzione Release
Bitmap DeleteObject
Cursore DestroyCursor
Icona DestroyIcon
 

Il sistema elimina automaticamente la risorsa quando il processo termina, tuttavia, la chiamata della funzione appropriata salva la memoria e riduce le dimensioni del working set del processo.

Requisiti

Requisito Value
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winuser.h (includere Windows.h)
Raccolta User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-gui-l1-3-0 (introdotto in Windows 10 versione 10.0.10240)

Vedere anche

Concettuale

Loadimage

Riferimento

Risorse