### 函数功能

该函数创建一个新的图像（图标、光标、位图）并复制该指定图像的属性到新的图像。若有必要，该函数将伸展位值以填满新图像所需要的尺寸。

### 函数原型

HANDLE CopyImage（HANDLE hlmage，UjNT uTyPe，int cxDesired，int cyDesired，UINT fuFlags）

### 参数

hImage：指向包含将被复制图像的模型中的一个特例的句柄。
uType：说明被复制图像的类型，此参数将可能是如下值：
IMAGE_BITMAP：表示复制一个位图；IMAGE_CURSOR；表示复制一个光标。
IMAGE_ICON：表示复制一个图标。
cxDesired：用来指定图像所需的像素宽度。
cyDesired：用来指定图像所需的像素高度。
fuFlags：指定下列复合值，其含义具体如下：
LR_COPYDELETEORG：表示创建一个副本后删除原始图像。
LR_COPYRETURNORG；表示创建一个图像的精确副本，而忽略参数cxDesired和cyDesired。
LR_MONOCHROME：表示创建一个新的单色图像。
LR_COPYFROMRESOURCE；表示试图从原始资源文件中再装载图标或光标资源而不是简单的复制当前图像。这使得在含有多种尺寸资源的资源文件中再创建一个不同尺寸的副本时非常有用。若没有这个标志，Copylmage函数将伸展原始图像到新的尺寸；若此标志被设置，Copylmage函数将在资源文件中选择使用最接近所期待尺寸的值。
此函数只有在Loadlcon、LoadCursor或Loadlmage函数中的hlmage参数被装载成LR_SHARED值时才运行成功的。

### 返回值

如果函数运行成功，其值将返回最新创建图像的句柄；如果函数运行失败，其值将返回空。若想获得更多的错误信息，请调用GetLastError函数。
注意：当使用完资源后，可以调用下表中列举的函数以释放相关内存。
Resource Release function资源释放函数：Bitmap DeleteObject 位图：DeleteObject；
Cursor DestroyCursor 光标：DestroyCursorr；lcon Destroylcon 图标： Destroylcon。
当过程终止时，系统将自动删除这些资源。因而，调用相关函数可以节省内存空间且减少过程工作设置所需空间的大小。

### 速查

Windows NT 3.5 Windows 95以上，头文件：winuserh；库文件：user32.lib。