| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 492 人关注过本帖
标题:[求助]VC++有关图象处理的图象打开
只看楼主 加入收藏
zerozhou
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2006-2-20
收藏
 问题点数:0 回复次数:0 
[求助]VC++有关图象处理的图象打开

我在写了一个打开一个图象的代码后,运行无错误,但是无法打开bmp格式的图象(只能打开bmp格式的)。
代码如下:
BOOL CShiGaoBanDoc::OnOpenDocument(LPCTSTR lpszPathName)
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;

// TODO: Add your specialized creation code here
CFile file;
filename = lpszPathName;
if(file.Open(filename, CFile::modeRead, NULL) == 0)
{
AfxMessageBox("无法打开文件!", MB_OK, 0);
return FALSE;
}
file.Read(&bf, sizeof(BITMAPFILEHEADER));
file.Read(&bi, sizeof(BITMAPINFOHEADER));
if(bi.biBitCount != 8)
{
AfxMessageBox("非灰度遥感图片!", MB_OK, 0);
return FALSE;
}
pbi = (BITMAPINFO*)HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER) +
256 * sizeof(RGBQUAD));
if(pbi == NULL)
{
AfxMessageBox("内存分配失败!", MB_OK, 0);
return FALSE;
}
memcpy(pbi, &bi, sizeof(BITMAPINFOHEADER));
quad=(RGBQUAD*)((BYTE*)pbi + sizeof(BITMAPINFOHEADER));
file.Read(quad, 256 * sizeof(RGBQUAD));
bi.biSizeImage = bf.bfSize - bf.bfOffBits;
lpOrgBuf = (BYTE*)HeapAlloc(GetProcessHeap(), 0, bi.biSizeImage);
if(lpOrgBuf == NULL)
{
AfxMessageBox("内存分配失败!", MB_OK, 0);
return FALSE;
}
file.Read(lpOrgBuf, bi.biSizeImage);

//给用于显示图象的变量赋值
lShowWidth = bi.biWidth;
lShowHeight = bi.biHeight;
lpShowBuf = (BYTE*)HeapAlloc(GetProcessHeap(), 0, bi.biSizeImage);
if(lpShowBuf == NULL)
{
AfxMessageBox("内存分配失败!");
return FALSE;
}
memcpy(lpShowBuf, lpOrgBuf, bi.biSizeImage);

lpShowPbi = (BITMAPINFO*)HeapAlloc(GetProcessHeap(), 0, sizeof(BITMAPINFOHEADER) +
256 * sizeof(RGBQUAD));
if(lpShowPbi == NULL)
{
AfxMessageBox("内存分配失败!", MB_OK, 0);
return FALSE;
}
memcpy(lpShowPbi, pbi, sizeof(BITMAPINFOHEADER) + 256*sizeof(RGBQUAD));

file.Close();
bIsFileOpen = TRUE;
UpdateAllViews(NULL);

return TRUE;
}
请哪位朋友帮个忙,看一下,给点建议!!
QQ:409340554
E_mail:zerozhoutong@yahoo.com.cn

搜索更多相关主题的帖子: 图象处理 
2007-03-09 20:46
快速回复:[求助]VC++有关图象处理的图象打开
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011234 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved