Función CopyImage (winuser.h)

Crea una nueva imagen (icono, cursor o mapa de bits) y copia los atributos de la imagen especificada en la nueva. Si es necesario, la función amplía los bits para ajustarse al tamaño deseado de la nueva imagen.

Sintaxis

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

Parameters

[in] h

Tipo: HANDLE de

Identificador de la imagen que se va a copiar.

[in] type

Tipo: UINT

Tipo de imagen que se va a copiar. Este parámetro puede ser uno de los siguientes valores.

Value Meaning
IMAGE_BITMAP
0
Copia un mapa de bits.
IMAGE_CURSOR
2
Copia un cursor.
IMAGE_ICON
1
Copia un icono.

[in] cx

Tipo: int

Ancho deseado, en píxeles, de la imagen. Si es cero, la imagen devuelta tendrá el mismo ancho que el hImage original.

[in] cy

Tipo: int

Alto deseado, en píxeles, de la imagen. Si es cero, la imagen devuelta tendrá el mismo alto que el hImage original.

[in] flags

Tipo: UINT

Este parámetro puede ser uno o más de los siguientes valores.

Value Meaning
LR_COPYDELETEORG
0x00000008
Elimina la imagen original después de crear la copia.
LR_COPYFROMRESOURCE
0x00004000
Intenta volver a cargar un icono o un recurso de cursor desde el archivo de recursos original en lugar de simplemente copiar la imagen actual. Esto resulta útil para crear una copia de tamaño diferente cuando el archivo de recursos contiene varios tamaños del recurso. Sin esta marca, CopyImage amplía la imagen original al nuevo tamaño. Si se establece esta marca, CopyImage usa el tamaño del archivo de recursos más cercano al tamaño deseado. Esto solo se realizará correctamente si LoadIcon o LoadCursor cargaron hImage o LoadImage con la marca LR_SHARED.
LR_COPYRETURNORG
0x00000004
Devuelve el hImage original si cumple los criterios de la copia(es decir, dimensiones correctas y profundidad de color), en cuyo caso se omite la marca LR_COPYDELETEORG . Si no se especifica esta marca, siempre se crea un nuevo objeto.
LR_CREATEDIBSECTION
0x00002000
Si se establece y se crea un mapa de bits nuevo, el mapa de bits se crea como una sección DIB. De lo contrario, la imagen de mapa de bits se crea como un mapa de bits dependiente del dispositivo. Esta marca solo es válida si uType es IMAGE_BITMAP.
LR_DEFAULTCOLOR
0x00000000
Usa el formato de color predeterminado.
LR_DEFAULTSIZE
0x00000040
Usa el ancho o alto especificado por los valores de métrica del sistema para cursores o iconos, si los valores cx o cy se establecen en cero. Si no se especifica esta marca y cx y cy se establecen en cero, la función usa el tamaño real del recurso. Si el recurso contiene varias imágenes, la función usa el tamaño de la primera imagen.
LR_MONOCHROME
0x00000001
Crea una nueva imagen monocromática.

Valor devuelto

Tipo: HANDLE de

Si la función se ejecuta correctamente, el valor devuelto es el identificador de la imagen recién creada.

Si se produce un error en la función, el valor devuelto es NULL. Para obtener información de error extendida, llame a GetLastError.

Observaciones

Cuando haya terminado de usar el recurso, puede liberar su memoria asociada llamando a una de las funciones de la tabla siguiente.

Recurso Función Release
Bitmap DeleteObject
Puntero DestroyCursor
Iconos DestroyIcon
 

El sistema elimina automáticamente el recurso cuando finaliza su proceso, pero al llamar a la función adecuada se ahorra memoria y se reduce el tamaño del conjunto de trabajo del proceso.

Requisitos

Requirement Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
Encabezado winuser.h (incluya Windows.h)
Biblioteca User32.lib
DLL de User32.dll
conjunto de API de ext-ms-win-ntuser-gui-l1-3-0 (introducido en Windows 10, versión 10.0.10240)

Consulte también

conceptual de

LoadImage

Referencia

Recursos