您的位置:首页 > 其它

从文件导出一个位图资源写成BMP位图文件

2010-10-05 20:19 399 查看
try
{
HINSTANCE ghInstApp = AfxGetInstanceHandle();
HRSRC hRsrc = FindResource(NULL,
MAKEINTRESOURCE(IDB_BITMAP1), RT_BITMAP );
ASSERT(hRsrc);
DWORD dwErr = GetLastError();
DWORD dwLen = SizeofResource(ghInstApp,hRsrc);
ASSERT(dwLen);
HGLOBAL hGlobal = LoadResource(ghInstApp,hRsrc);

CFile file(_T("C://temp//a.bmp"), CFile::modeCreate | CFile::modeWrite);

//构建一个文件头
BITMAPFILEHEADER bfh = {0};//位图文件头
bfh.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);//到位图数据的偏移量
bfh.bfSize = bfh.bfOffBits + dwLen - sizeof(BITMAPINFOHEADER) ;//文件总的大小
bfh.bfType = (WORD)0x4d42;

file.Write(&bfh, sizeof(bfh));
file.Write(hGlobal, dwLen);
file.Close();
}
catch(...)
{
ASSERT(0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐