无法从资源加载位图

问题描述:

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

所以,下面的代码工作:

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)); 

谁能帮我吗?

+1

你是什么意思“它不工作”?你有错误吗?或者位图没有显示出来? – 2012-07-27 18:56:02

+0

没有showng up – Angelica 2012-07-27 18:59:26

+0

你有没有考虑过使用'CBitmap'类? – 2012-07-27 19:08:23

你的资源格式是什么?

GDI +只能从资源中加载位图(.BMP)图像。如果你想从一个资源中加载PNG或JPG图像,你需要使用一个流来混淆它。请参阅http://www.codeproject.com/Articles/3537/Loading-JPG-PNG-resources-using-GDI了解可以做到的便利课程。

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(); 
} 

//代码将工作