LoadImage函數是Windows API中的一個函數,用于加載圖像資源。
LoadImage函數的參數及其用法如下:
hInst(HINSTANCE類型):指定包含圖像資源的模塊的句柄。通常使用GetModuleHandle(NULL)獲取當前應用程序的句柄。
lpszName(LPCTSTR類型):指定圖像資源的名稱。可以是一個整數資源ID(如MAKEINTRESOURCE(IDB_BITMAP1)),也可以是一個指向包含資源名稱的字符串的指針。
uType(UINT類型):指定圖像資源的類型。可以是下列值之一:
cxDesired(int類型):指定加載后圖像的寬度。如果為0,則加載原始圖像大小。
cyDesired(int類型):指定加載后圖像的高度。如果為0,則加載原始圖像大小。
fuLoad(UINT類型):指定加載圖像的方式。可以是下列值之一:
返回值(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)。