无法从资源加载位图
问题描述:
我无法从资源加载位图。我有一个我想要维护的项目。 图像正在从文件中加载,但我想从资源加载它们。无法从资源加载位图
所以,下面的代码工作:
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));
谁能帮我吗?
答
你的资源格式是什么?
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();
}
//代码将工作
你是什么意思“它不工作”?你有错误吗?或者位图没有显示出来? – 2012-07-27 18:56:02
没有showng up – Angelica 2012-07-27 18:59:26
你有没有考虑过使用'CBitmap'类? – 2012-07-27 19:08:23