19,464
社区成员
发帖
与我相关
我的任务
分享
void ShowBMP()
{
BITMAPFILEHEADER m_bmfh;//BMP文件头变量
BITMAPINFOHEADER m_bmih;//BMP文件信息变量
BYTE *m_pImgData=NULL;
CFile file;
CFileDialog dlg(TRUE);
if(dlg.DoModal()==IDCANCEL)
return;
file.Open(dlg.GetPathName(),CFile::modeRead);
file.Read(&m_bmfh,sizeof(m_bmfh));
file.Read(&m_bmih,sizeof(m_bmih));
m_pImgData=new BYTE[m_bmih.biSizeImage];
file.Seek(m_bmfh.bfOffBits,0);
file.Read(m_pImgData,m_bmih.biSizeImage);
file.Close();
CClientDC dc(this);
SetDIBitsToDevice(dc.m_hDC,
0,0,
m_bmih.biWidth,m_bmih.biHeight,
0,0,
0,m_bmih.biHeight,
m_pImgData,
(BITMAPINFO*)&m_bmih,
DIB_RGB_COLORS);
delete m_pImgData;
}