我无法从资源加载位图。我有一个我想要维护的项目。 图像是从文件加载的,但我想从资源加载它们。
所以,下面的代码正在运行:
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));
任何人都可以帮助我吗?
答案 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();
}
//代码将起作用