使用 WinAPI 绘制图像:LoadBitmap 有效,但 LoadImage() 不会?

Drawing Image using WinAPI: LoadBitmap works but LoadImage() won't?

本文关键字:LoadImage 不会 有效 绘制 WinAPI 图像 LoadBitmap 使用      更新时间:2023-10-16

我是Windows编程新手,一直在关注Forger的Win32 API编程教程。我一直在尝试在窗户内绘制图像。

在查看了类似的问题后,此代码似乎适用于加载位图:

HBITMAP testImage == NULL;
case WM_CREATE:
    testImage = (HBITMAP)LoadImage(NULL, L"C:\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE);
    if(testImage == NULL) {
        MessageBox(NULL, L"NO IMAGE LOADED!", L"Error!",  MB_ICONEXCLAMATION | MB_OK);
    }
break;

我在上面的位置有一张名为ScreenSnip.bmp的图像,其尺寸为498 * 304。但是,LoadImage 不起作用,并且 testImage 的值始终为空。

我尝试使用 LoadBitmap() 将图像加载为资源并且有效,这就是为什么我没有包含其余代码的原因。似乎是上面的 LoadImage() 导致了问题,但我无法弄清楚为什么。

有人有什么想法吗?我在 Windows 7 64 位上使用 VC++ 运行它。

使用testImage = (HBITMAP)LoadImage(NULL, L"C:\ScreenSnip.bmp", IMAGE_BITMAP, 498, 304, LR_LOADFROMFILE); 你用L"C:.."使用宽,所以你必须使用LoadImageW