- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用VC实现bmp位图打开及显示
用VC++实现bmp位图打开和显示1、首先建立一个工程。打开VC++6.0,单击 文件【files】→新建【new】→工程【projects】在打开的projects 下选择MFC App Wizard [exe]→在project name 下输入自己的工程名例如(Showpicture)→单击【ok】→在打开的对话框中选择基于单文档【single document】→在第四步 “MFC App Wizard step 4 of 6”面板中删掉【隐藏工具栏】和【打印和打印预览】两个选项,之后的全部选择默认,单击finish,出现一个“New Project Information”窗口,单击【ok】。一个简单的工程框架就建好了。这是基于MFC App Wizard 自动生成的应用程序,如果我们自己还没有编译任何代码,现在就按下F7键编译程序,接着按Ctr+F5键运行程序,可以看到出现一个完整的带有标题栏、菜单栏的可调边框的应用程序。
2、现在我们正式开始在新建工程Showpicture中进行编程实现bmp位图的打开和显示。点击左边框中的【ResourceView】框找到【Menu】点开,双击Menu下的图标,在右面的显示框中创建两个菜单:打开,显示原图。分别双击这两个菜单修改属性:
打开 ID: ID_FILE_OPEN
显示原图 ID: IDM_YUANTU
3、给这两个菜单建立类向导。在右边的窗口中右击“打开”,选择“建立类向导”,然后在打开的对话框中按下图1操作,“Class name”选择 “CShowpictureDoc” →”Object IDs”中选择“ID_FILE_OPEN” →“Message”中选择“COMMAND”,点击“Add Function”键就会在“Member functions”中如下显示:
然后点击“Edit Code”,在自动生成的OnFileOpen函数中编写代码:
void CShowpictureDoc::OnFileOpen()
{
// TODO: Add your command handler code here
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle=图片打开对话框;
fileDlg.m_ofn.lpstrFilter=BMP Files(*.bmp)\0*.bmp\0\0;
if(IDOK==fileDlg.DoModal ())
filename.Format (%s,fileDlg.GetPathName());
CDib.LoadFile(filename);
}
同理,操作“显示原图”,如下图2显示:注意这次的“Class name”选择“CShowpictureView”。点击“Edit Code”,在自动生成的“OnYuantu”
函数中编写代码:
void CShowpictureView::OnYuantu()
{
// TODO: Add your command handler code here
CShowpictureDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);
filename=pDoc-filename;
state1=1;Invalidate();
}
4、创建一个处理位图的类CDib,且,CDib类是由CObject类派生出来的。点击工程菜单栏中的插入【insert】→【insert class】→类类型选“Generic Class”, →类名称填“CDib” →【ok】。可以看见工程窗口的Class View 中多了一个 CDib 类;点开CDib类的头文件,输入以下代码,注意变量可以直接复制,声明的函数最好不要直接复制(在CDib类右击选择“Add member function”,输入函数类型和函数名)。
#include windowsx.h
class CDib :public CObject
{
public:
RGBQUAD* m_pRGB;
BYTE* m_pData;
UINT m_numberOfColors;
BOOL m_valid;
BITMAPFILEHEADER bitmapFileHeader;
BITMAPINFOHEADER* m_pBitmapInfoHeader;
BITMAPINFO* m_pBitmapInfo;
BYTE* pDib;
DWORD size;
char m_fileName[256];
public:
void LoadFile(c
您可能关注的文档
- 生产班组年度工作小结.doc
- 人教版高中英语选修6Unit 5“The power of nature”(第3课时)课件.ppt
- 人教版高中英语选修7 Unit 4“Sharing”(period 3 grammar)课件.ppt
- 生产调度员个人年度工作小结.doc
- 生产类型的分类和其特点.doc
- 生产计划的管理程序书.doc
- 生产经营单位安全生产监管基本台帐.doc
- 生产技术部工作流程〔草案〕.doc
- 生产车间员工守则〔暂行〕.doc
- 生产计划与物料操纵的管理流程.doc
- 用VC实现图象渐显及渐稳.doc
- 人教高中英语版选修7 Unit 1“Living well”(Section 3)课件.ppt
- 人教版高中英语选修8 Unit 4“Pygmalion”(words test)课件.ppt
- 用VisualC实现图象渐显及渐隐.docx
- 用VB构键Internet的应用–程序员联合开发网.doc
- 用VisualC显示位图的原理和方法.docx
- 七年级语文(下)第30课“诗词五首–西江月”演示课件语文版.ppt
- 用Unity3D的20个技巧︰Unity3D最佳实践.docx
- 用Windows自带的《画图》软件绘图的方法及技巧.doc
- 用u盘安装系统图解硬盘分区–系统安装–备份全程图解.doc
最近下载
- 人教版2024八年级下册物理9.4 跨学科实践:制作简易活塞式抽水机(教学设计).docx VIP
- 全国山西经济版小学信息技术第一册第三单元活动2《小蘑菇》说课稿.docx VIP
- 全国山西经济版小学信息技术第一册第三单元活动2《小蘑菇》教学设计.docx VIP
- 《四世同堂》的汉奸形象书写与国民性批判.docx VIP
- 曲臂车安全专项施工方案.docx VIP
- SAJ三晶VM1000H系列高性能变频器用户手册使用说明书0.75~9kW.pdf
- 低空经济产业园的综合建设方案.docx
- 道路交通事故认定书复核申请书.pdf VIP
- 铁路无人机培训课件.pptx
- 读书分享课件《三体》-刘慈欣.pptx VIP
文档评论(0)