使用WinAPI绘制图像:LoadBitmap有效但LoadImage()赢了吗?

时间:2013-01-24 17:43:49

标签: c++ winapi visual-c++ bitmap loadimage

我是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的值始终为null。

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

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

1 个答案:

答案 0 :(得分:-1)

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