请问这样打开位图然后获取bitmapinfoheader的方法对吗,我调试时看到bitmapinfoheader结构体里的数据大得离谱呢
我用的是MFC对话框,点击“打开文件”按钮代码如下,m_ds是一个DIBSECTION结构体,
// 打开文件
CFileDialog fileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST,
"位图文件(*.bmp)|*.bmp| ||");
CString strPath;
if (fileDlg.DoModal() == IDOK)
{
strPath = fileDlg.GetPathName();
}
// 载入位图
HBITMAP hBmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(), strPath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
CBitmap bmp;
if (hBmp != NULL)
{
bmp.Attach(hBmp);
}
// 获得信息
bmp.GetObject(sizeof(m_ds), &m_ds);