class CPngFromResource
{
public:
CPngFromResource(UINT uIdRes)
{
m_Istream = NULL;
PngFromResource(uIdRes);
}
~CPngFromResource()
{
if(m_Istream)
m_Istream->Release();
}
operator IStream *()
{
return m_Istream;
}
private:
IStream *m_Istream;
IStream * PngFromResource(UINT uIdRes)
{
HRSRC hPngSrc = FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(uIdRes),_T("PNG"));
if(hPngSrc)
{
HGLOBAL hPngGlobal = LoadResource(AfxGetInstanceHandle(),hPngSrc);
if(hPngGlobal)
{
LPVOID pSrc = LockResource(hPngGlobal);
if(pSrc)
{
ULARGE_INTEGER srcSize;
srcSize.QuadPart = SizeofResource(AfxGetApp()->m_hInstance, hPngSrc);
m_Istream = NULL;
CreateStreamOnHGlobal(NULL, TRUE, &m_Istream);
if(m_Istream)
{
m_Istream->SetSize(srcSize);
DWORD cbWritten = 0;
m_Istream->Write(pSrc, srcSize.LowPart, &cbWritten);
//VERIFY( m_Imagebg.Load(pStream) == S_OK );
return m_Istream;
}
}
}
}
return NULL;
}
};
资源中加载Png
原创wx637304bacd051 博主文章分类:C++ 随笔 ©著作权
©著作权归作者所有:来自51CTO博客作者wx637304bacd051的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
android中加载assets中的资源文件
在android中,如何加载assets目录下的文件夹呢?方法很简单,使用
android 加载 assets目录 -
MFC DLL中加载图标
图标是MFC工程中资源的一种,应用程序中的图标资源可以直接使用LoadImage来获得,在添加图标资源到工程中,然后使用下面语句就
dll mfc imagelist image keyboard -
process调节变量控制变量
环境变量environment variable简单说,环境变量指的是进程运行环境的一些参数,这些参数有可能会被进程使用,也可能被进程修改。环境变量的用途是将代码中与环境相关的配置分离出来,从而使得程序在各个不同的环境下运行的时候只用修改环境变量就行了Node.js 环境变量Node.js 环境变量可以通过 process.env 访问,比如你有个环境变量 NODE_ENV=development
process调节变量控制变量 js全局变量和局部变量名称一样 js变量后面加问号是什么 js如何替换object某个key linux修改环境变量