使用CImage类处理数字图像-续.ppt

使用CImage类处理数字图像-续.ppt

ID:50000163

大小:60.50 KB

页数:12页

时间:2020-03-07

使用CImage类处理数字图像-续.ppt_第1页
使用CImage类处理数字图像-续.ppt_第2页
使用CImage类处理数字图像-续.ppt_第3页
使用CImage类处理数字图像-续.ppt_第4页
使用CImage类处理数字图像-续.ppt_第5页
资源描述:

《使用CImage类处理数字图像-续.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CImage类图像应用中,DDB主要用于显示图像和生成画刷;而DIB主要用于保存图像以及图像处理中图像数据的存取。简言之,DDB适于生成图像,DIB适于获取和保存图像数据。因此,在图像处理应用中主要使用后者。16位系统中,DIB的建立很复杂,Win32中引入了DIBSECTION结构消除了DDB与DIB的差异,它兼具两者的功能。新增的3个函数CreateDIBSection、GetDIBColorTable与SetDIBColorTable简化了DIB数据的操作,它们与功能得到加强的位图转换函数BitBlt

2、相结合就足以满足图像处理的底层要求。同时,建立的DIBSECTION对象支持Windows编程中的所有图像功能。这些优点可在CImage类的应用中体现出来。CImage类的引入在VC++中,有2个类库可以使用。其中MFC用来支持建立应用程序,ATL用来建立组件和服务。在VC++编程中,通常只选其中一个。但从VC++.NET开始在这两个类库之间有了一些共享类,CImage就是其中之一。CImage在MFC类库的派生体系中不属于绘图工具类,但功能相同。它提供了对DIBSECTION位图的支持,包括读入和保存BM

3、P、JPEG、GIF、TIF、PNG等格式图像的能力。CImage类的应用CImage类可以直接在MFC或ATL中使用。在使用CImage创建一个项目时,必须包含头文件atlimage.h,这个文件必须在包含CString类定义的文件之后。一个最简单的方法是在项目中的stdafx.h文件的末尾添加下列包含语句://stdafx.h//原来的文件内容…/#includeCImage包含了自己的设备环境句柄,这是它与CBitmap类在除了数据格式外的另一个主要区别。因此,可以对CImag

4、e类对象直接操作,从而省略了将图像插入一个兼容的设备环境的过程。成员。。。。请查阅MSDN例题1ShowImage1、新建一个单文档的应用程序,项目名称为ShowBitmap2、为CShowBitmapView类添加下述成员变量和成员函数:其中CImagem_MyImage需要头文件"atlimage.h"的支持,或者你可以用向导来加这个变量,那么头文件会自动添加的,我们这里手动在CShowBitmapView.h中加入#include"atlimage.h",一定要记得加成员定义public:CStrin

5、gstrPicPath;   //打开的图片文件文件名CStringextname;   //打开的图片文件的扩展名CBitmapm_bitmap;   //创建位图对象CImagem_MyImage;   //用于读取与显示jpg等格式的图像文件voidShowBitmap(CDC*pDC,CStringstrPicPath);   //用来显示指定位图的函数voidShowPic(CDC*pDC,CStringpicName);//JPG等图片显示函数为ID_FILE_OPEN消息添加响应函数voidC

6、ShowBitmapView::OnFileOpen() {    //CFileDialogdlg(TRUE,_T("BMP"),_T("*.BMP"),OFN_HIDEREADONLY

7、OFN_OVERWRITEPROMPT,_T("位图文件(*.BMP;*.jpg)

8、*.BMP;*.jpg

9、"));CFileDialogdlg(TRUE,NULL,NULL,OFN_HIDEREADONLY

10、OFN_OVERWRITEPROMPT,_T("图片文件(*.jpg;*.jpeg;*.gif;*.bmp)

11、*

12、.jpg;*.jpeg;*.gif;*.bmp

13、位图文件(*.BMP)

14、*.BMP

15、

16、"));    if(IDOK==dlg.DoModal())    {strPicPath.Format(_T("%s"),dlg.GetPathName());extname=dlg.GetFileExt();            //返回选定文件的扩展文件名extname.MakeLower();       //将后缀名变成小写Invalidate();    } }编写BMP图片显示函数voidCShowBit

17、mapView::ShowBitmap(CDC*pDC,CStringstrPicPath) {           HBITMAPhBitmap=(HBITMAP)LoadImage(NULL,strPicPath,IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION

18、LR_DEFAULTSIZE

19、LR_LOADFROMFILE);m_bitmap.Detach();m_bitmap.Att

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

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

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