VC8.0中的一些心得体会——打开位图
来源:互联网 发布:php自动加载类意义 编辑:程序博客网 时间:2024/05/22 01:26
void CTRYDoc::OnFileOpen()
{
// TODO: 在此添加命令处理程序代码
CString str = _T("BMP");
CString str1 = _T("Image files (*.BMP)|*.BMP||");
CString str2 = _T("位图打开");
CString str3 = _T("取消读入位图");
CString str4 = _T("读入位图失败");
CString str5 = _T("不是位图格式文件");
LPCWSTR sext = (LPCWSTR)str;
LPCWSTR sfiltr = (LPCWSTR)str1;
LPCWSTR sz = (LPCWSTR)str2;
LPCWSTR sz1 = (LPCWSTR)str3;
LPCWSTR sz2 = (LPCWSTR)str4;
LPCWSTR sz3 = (LPCWSTR)str5;
CFileDialog Open(TRUE,sext,
NULL, OFN_HIDEREADONLY,
sfiltr);
Open.m_ofn.lpstrTitle=sz;
int ret=Open.DoModal();
CString bmpPath;
if(ret==IDOK)
bmpPath=Open.GetPathName( );
else
{
AfxMessageBox(sz1);
//return TRUE;
}
CFile file;
if(!file.Open(bmpPath,CFile::modeRead|CFile::shareDenyWrite))
{
AfxMessageBox(sz2);
//return FALSE;
}
BITMAPFILEHEADER *lpbmpfilehead=(BITMAPFILEHEADER*)(new char[14]);//1
DWORD size;
size=file.GetLength();
file.Read(LPSTR(lpbmpfilehead),14);
if(lpbmpfilehead->bfType!=0x4d42)
{
AfxMessageBox(sz3);
//return TRUE;
}
BITMAPINFOHEADER *lpbmpinfohead=(BITMAPINFOHEADER*)(new char[40]);//2
bmpfilesize=lpbmpfilehead->bfSize-lpbmpfilehead->bfOffBits;//象素所占空间
UpdateMemSize(bmpfilesize+40+256*4);
file.Read(LPSTR(lpbmpinfohead),40);
CopyMemory(lpDIB,lpbmpinfohead,40);
//lpbmpinfohead可以用来对位图的信息作初步的判断
delete []lpbmpfilehead;//1
delete []lpbmpinfohead;//2
file.Read(lpDIB+40,size-54);
file.Close();
drawbmp=TRUE;//唯一用来确定载入哪种格式位图,bmp or Jpeg or other?
LoadBmp=TRUE;//view类中位图内存区域只是在doc类打开open菜单时才从doc类读入数据
UpdateAllViews(NULL);
LoadBmp=FALSE;
// return TRUE;
}
- VC8.0中的一些心得体会——打开位图
- 大学中的一些心得体会——写给学弟学妹
- VC8.0中的编程问题
- 自学java中的一些心得体会
- 拓展训练—心得体会
- 初学Java—心得体会
- 关于对vuex使用过程中的一些心得体会
- 发现VC8中的一个错误
- char*、WCHAR*、vc8中的CString
- 写一些心得体会2007.1
- java的一些心得体会!
- 7.12 一些心得体会
- 8.6 一些心得体会
- 9.9 一些心得体会
- Maven 的一些心得体会
- 英雄联盟——心得体会
- 数据库(SQL2005)使用中的小技巧——学生管理系统心得体会
- STL容器BitSet(位图)——1道腾讯笔试题的正确打开方式
- 意念打字机?
- 教皇的 iPod 播放单
- 做任何事都要做到最好!
- 快乐的钥匙
- xiao jiqiao
- VC8.0中的一些心得体会——打开位图
- 常用快速鍵應用
- DataSeDataSet与DataReader的区别
- FCKEditor 2.2
- ddl无限绑定栏目(递归实现)
- Mysql也可以联合多表更新和删除
- 日志
- LPC2210(1)
- 关于EAI数据上载测试