用VC++实现bmp位图打开和显示

用VC++实现bmp位图打开和显示

ID:43279217

大小:42.01 KB

页数:5页

时间:2019-09-29

用VC++实现bmp位图打开和显示_第1页
用VC++实现bmp位图打开和显示_第2页
用VC++实现bmp位图打开和显示_第3页
用VC++实现bmp位图打开和显示_第4页
用VC++实现bmp位图打开和显示_第5页
资源描述:

《用VC++实现bmp位图打开和显示》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、用VC++实现bmp位图打开和显示课程名称:数字图象处理实验名称:用C++实现bimp图片的打开与显示班级:姓名:一试验目地:(1)、学会了解C++是使用;(2)、学会用C++解决图像处理问题二、实验内容:用C++语言编写bimp图像显示;三、实验步骤:1、首先建立一个工程。打开VC++6.0,单击文件【files】→新建【new】→工程【projects】在打开的projects下选择MFCAppWizard[exe]→在projectname下输入自己的工程名例如(Showpicture)→单击【o

2、k】→在打开的对话框中选择基于单文档【singledocument】→在第四步“MFCAppWizardstep4of6”面板中删掉【隐藏工具栏】和【打印和打印预览】两个选项,之后的全部选择默认,单击finish,出现一个“NewProjectInformation”窗口,单击【ok】。一个简单的工程框架就建好了。这是基于MFCAppWizard自动生成的应用程序,如果我们自己还没有编译任何代码,现在就按下F7键编译程序,接着按Ctr+F5键运行程序,可以看到出现一个完整的带有标题栏、菜单栏的可调边框的

3、应用程序。2、现在我们正式开始在新建工程Showpicture中进行编程实现bmp位图的打开和显示。点击左边框中的【ResourceView】框找到【Menu】点开,双击Menu下的图标,在右面的显示框中创建两个菜单:打开,显示原图。分别双击这两个菜单修改属性:打开ID:ID_FILE_OPEN显示原图ID:IDM_YUANTU3、给这两个菜单建立类向导。在右边的窗口中右击“打开”,选择“建立类向导”,然后在打开的对话框中按下图1操作,“Classname”选择“CShowpictureDoc”→”Ob

4、jectIDs”中选择“ID_FILE_OPEN”→“Message”中选择“COMMAND”,点击“AddFunction”键就会在“Memberfunctions”中如下显示:然后点击“EditCode”,在自动生成的OnFileOpen函数中编写代码:voidCShowpictureDoc::OnFileOpen(){//TODO:AddyourcommandhandlercodehereCFileDialogfileDlg(TRUE);fileDlg.m_ofn.lpstrTitle="图片打开

5、对话框";fileDlg.m_ofn.lpstrFilter="BMPFiles(*.bmp)*.bmp";if(IDOK==fileDlg.DoModal())filename.Format("%s",fileDlg.GetPathName());CDib.LoadFile(filename);}同理,操作“显示原图”,如下图2显示:注意这次的“Classname”选择“CShowpictureView”。点击“EditCode”,在自动生成的“OnYuantu”函数中编写代码:voidC

6、ShowpictureView::OnYuantu(){//TODO:AddyourcommandhandlercodehereCShowpictureDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);filename=pDoc->filename;state1=1;Invalidate();}4、创建一个处理位图的类CDib,且,CDib类是由CObject类派生出来的。点击工程菜单栏中的插入【insert】→【insertclass】→类类型选“GenericCla

7、ss”,→类名称填“CDib”→【ok】。可以看见工程窗口的ClassView中多了一个CDib类;点开CDib类的头文件,输入以下代码,注意变量可以直接复制,声明的函数最好不要直接复制(在CDib类右击选择“Addmemberfunction”,输入函数类型和函数名)。#include"windowsx.h"classCDib:publicCObject{public:RGBQUAD*m_pRGB;BYTE*m_pData;UINTm_numberOfColors;BOOLm_valid;BITMAP

8、FILEHEADERbitmapFileHeader;BITMAPINFOHEADER*m_pBitmapInfoHeader;BITMAPINFO*m_pBitmapInfo;BYTE*pDib;DWORDsize;charm_fileName[256];public:voidLoadFile(constchar*dibFileName);DWORDGetSize();UINTGetWidth();UINTGetHeight();UINT

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。