无法从资源加载位图

时间:2012-07-27 18:52:12

标签: c++ windows winapi mfc

我无法从资源加载位图。我有一个我想要维护的项目。 图像是从文件加载的,但我想从资源加载它们。

所以,下面的代码正在运行:

WCHAR path[MAX_PATH] = TEXT("C:\\nananana...");
pBitmapClose = Bitmap::FromFile(path);

但是,当我尝试从资源中使用时,它无法正常工作。我已经尝试了几个参数:

pBitmapClose = Bitmap::FromResource(g_hInstance, MAKEINTRESOURCE(IDB_BTN_CLOSE));

pBitmapClose = Bitmap::FromResource((HINSTANCE) GetModuleHandle(NULL), MAKEINTRESOURCE(IDB_BTN_CLOSE)); 

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您的资源采用何种格式?

GDI +只能从资源加载位图(.BMP)图像。如果要从资源加载PNG或JPG图像,则需要使用流来对其进行处理。有关可以执行此操作的便捷课程,请参阅http://www.codeproject.com/Articles/3537/Loading-JPG-PNG-resources-using-GDI

答案 1 :(得分:0)

BOOL  CreateBitmap(LPCTSTR szFileName)
{
    if(::PathFileExists(szFileName))
        m_pBitmap = Bitmap::FromFile(T2CW(szFileName));
    else
    {
        m_pBitmap = Bitmap::FromResource( ModuleHelper::GetResourceInstance(), MAKEINTRESOURCE(IDB_NOFIND));
    }
    return !IsNull();
}

//代码将起作用

相关问题