阅读量:3
LoadImage函数是Windows API中的一个函数,用于加载图像资源。
LoadImage函数的参数及其用法如下:
hInst(HINSTANCE类型):指定包含图像资源的模块的句柄。通常使用GetModuleHandle(NULL)获取当前应用程序的句柄。
lpszName(LPCTSTR类型):指定图像资源的名称。可以是一个整数资源ID(如MAKEINTRESOURCE(IDB_BITMAP1)),也可以是一个指向包含资源名称的字符串的指针。
uType(UINT类型):指定图像资源的类型。可以是下列值之一:
- IMAGE_BITMAP: 用于加载位图(.bmp)文件。
- IMAGE_ICON: 用于加载图标(.ico)文件。
- IMAGE_CURSOR: 用于加载光标(.cur)文件。
cxDesired(int类型):指定加载后图像的宽度。如果为0,则加载原始图像大小。
cyDesired(int类型):指定加载后图像的高度。如果为0,则加载原始图像大小。
fuLoad(UINT类型):指定加载图像的方式。可以是下列值之一:
- LR_DEFAULTCOLOR: 使用默认颜色。
- LR_LOADFROMFILE: 指定lpszName参数为一个文件路径,而不是资源名称。
- LR_LOADTRANSPARENT: 加载透明图像。
- LR_SHARED: 指定加载的图像可以与其他线程共享。
- LR_CREATEDIBSECTION: 创建DIB(设备无关位图)节。
返回值(HANDLE类型):如果加载成功,返回一个有效的句柄;如果加载失败,返回NULL。
调用LoadImage函数后,可以使用返回的句柄进行后续的操作,如绘制到设备上或设置为控件的图像等。
示例代码如下:
HINSTANCE hInst = GetModuleHandle(NULL); HBITMAP hBitmap = (HBITMAP)LoadImage(hInst, MAKEINTRESOURCE(IDB_BITMAP1), IMAGE_BITMAP, 0, 0, LR_DEFAULTCOLOR); if (hBitmap != NULL) { // 在设备上绘制图像 HDC hdc = GetDC(hwnd); HDC hdcMem = CreateCompatibleDC(hdc); SelectObject(hdcMem, hBitmap); BitBlt(hdc, 0, 0, cx, cy, hdcMem, 0, 0, SRCCOPY); // 释放资源 DeleteDC(hdcMem); ReleaseDC(hwnd, hdc); DeleteObject(hBitmap); }
上述示例代码中,加载位图资源IDB_BITMAP1后,将其绘制到hwnd句柄对应的窗口设备上。在绘制完成后,需要释放相关资源,包括设备上下文(hdcMem和hdc)和位图对象(hBitmap)。