Funzione CopyImage (winuser.h)

Crea una nuova immagine (icona, cursore o bitmap) e copia gli attributi dell'immagine specificata nel nuovo. Se necessario, la funzione estende i bit per adattare le dimensioni desiderate della nuova immagine.

Sintassi

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

Parametri

[in] h

Tipo: HANDLE

Handle per l'immagine da copiare.

[in] type

Tipo: UINT

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

Valore Significato
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 si tratta di zero, l'immagine restituita avrà la stessa larghezza dell'immagine hImage originale.

[in] cy

Tipo: int

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

[in] flags

Tipo: UINT

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

Valore Significato
LR_COPYDELETEORG
0x00000008
Elimina l'immagine originale dopo aver creato la copia.
LR_COPYFROMRESOURCE
0x00004000
Prova a ricaricare un'icona o una risorsa cursore dal file di risorse originale anziché copiare semplicemente 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 alla nuova dimensione. Se questo flag è impostato, CopyImage usa le dimensioni del file di risorse più vicino alle dimensioni desiderate. Questa operazione avrà esito positivo solo se hImage è stato caricato da LoadIcon o LoadCursor o da LoadImage con il flag di LR_SHARED.
LR_COPYRETURNORG
0x00000004
Restituisce l'hImage originale se soddisfa i criteri per la copia, ovvero le dimensioni corrette e la profondità del colore, nel qual caso il flag di LR_COPYDELETEORG viene ignorato. Se questo flag non è specificato, viene sempre creato un nuovo oggetto.
LR_CREATEDIBSECTION
0x00002000
Se viene 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 i cursori o le icone, se i valori cxDesired o cyDesired sono impostati su zero. Se questo flag non è specificato e cxDesired e cyDesired 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 per l'immagine appena creata.

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

Commenti

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

Risorsa Funzione di rilascio
Bitmap DeleteObject
Cursore DestroyCursor
Icona DestroyIcon
 

Il sistema elimina automaticamente la risorsa quando il processo termina, tuttavia, chiamando la funzione appropriata salva la memoria e riduce le dimensioni del set di lavoro del processo.

Requisiti

Requisito Valore
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 (include Windows.h)
Libreria User32.lib
DLL User32.dll
Set di API ext-ms-win-ntuser-gui-l1-3-0 (introdotta in Windows 10, versione 10.0.10240)

Vedi anche

Informazioni concettuali

Loadimage

Riferimento

Risorse