图像的存取、显示与生成

图像的存取、显示与生成

ID:46159826

大小:569.00 KB

页数:32页

时间:2019-11-21

图像的存取、显示与生成_第1页
图像的存取、显示与生成_第2页
图像的存取、显示与生成_第3页
图像的存取、显示与生成_第4页
图像的存取、显示与生成_第5页
资源描述:

《图像的存取、显示与生成》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、图像的存取、显示与生成14.1.3CImage类(1)CImage是VisualC++中MFC的一个类CImage类使图形、图像软件的开发跨越了DDB与DIB概念,使处理更为简洁、方便CImage类提供了读入和保存BMP、JPEG、GIF、TIF与PNG等格式图像的能力CImage可以直接使用Windows提供的图形功能24.1.3CImage类(2)使用CImage时,必须包含atlimage.h文件。可在stdafx.h文件的末尾添加#include.3CImage类成员函数-创建与删除Create创建一个DIB位图与已有CImage对象相连接Destroy位图与C

2、Image对象相分离并予删除4CImage类成员函数-输入与输出Load读入指定图像文件中的图像Save按指定类型保存图像,文件名中不能省略后缀5CImage类成员函数-位图参数GetWidth返回当前图像的宽度(以像素为单位)GetHeight返回当前图像的高度GetBPP返回当前图像的每像素位数(颜色的深度)GetPixelAddress返回指定像素数据存放位置的存储地址GetMaxColorTableEntries返回调色板单元数IsIndexed判别位图中是否有调色板6CImage类成员函数-图形绘制GetDC返回当前位图的设备描述表ReleaseDC释放设备描述表GetPixel返回

3、指定位置像素的颜色SetPixel设置指定位置像素的颜色SetPixelRGB设置指定位置像素的红绿蓝分量GetColorTable获取调色板颜色分量(红、绿、蓝)值SetColorTable设置调色板颜色分量(红、绿、蓝)值7CImage类成员函数-位图块传送BitBlt位图的一个矩形区域复制到另一位图上的指定区域StretchBlt从源矩形拷贝到目标矩形,支持伸缩84.1.5图像文件的输入与输出CImage类读入图象数据的成员函数:HRESULTLoad(LPCTSTRpszFileName)throw();例如:WorkCanvus.Load(m_FileName);CImage类保存图

4、象数据的成员函数:HRESULTSave(IStream*pStream,REFGUIDguidFileType)constthrow();9读入图象文件并显示图象的步骤(1)建立CImage对象,例如WorkCanvus(2)在“打开文件”菜单处理程序OnFileOpen()函数中用WorkCanvus的Load()成员函数将图像文件里的图象数据读入到WorkCanvus中(3)在菜单“显示工作画布”处理程序OnDisplayWorkcanvus()中用WorkCanvus的Bitblt()函数将WorkCanvus中的图象数据传送到画布(例如CClientDC或pDC)上WorkCanvu

5、s图像文件Load()Bitblt()画布10打开图像文件-OnFileOpen()菜单:“文件/打开”源文件:CImageDoc.cpp函数:OnFileOpen()步骤:(1)添加CImage类的全局对象WorkCanvus,并在stdafx.h中将WorkCanvus说明为外部对象externCImageWorkCanvus;(2)添加CImageDoc类的事件ID_FILE_OPEN的处理函数voidCImageDoc::OnFileOpen()(3)在CImageDoc::OnFileOpen()函数中编写程序由对话框输入图像文件名根据文件名从图像文件中读入图像数据到CImage类的

6、对象WorkCanvus中并设置最近打开的文件名11ProgramCImageDoc.cpp-OnFileOpen()voidCImageDoc::OnFileOpen(){。。。CFileDialogdlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,strFilter);hResult=(int)dlg.DoModal();//由对话框输入图像文件名m_FileName=dlg.GetFileName();//保存当前文件名hResult=WorkCanvus.Load(m_FileName);//根据文件名从图像文件中读入图像数据到CImage类的对象WorkCan

7、vus中SetPathName(m_FileName,1);//设置最近打开的文件名UpdateAllViews(NULL);//调用OnDraw显示图象}12保存图像文件(1)菜单:“文件/另存为”源文件:CImageDoc.cpp函数:OnFileSaveAs()步骤:(1)添加CImageDoc类的事件ID_FILE_SAVE_AS的处理函数voidCImageDoc::OnFileSave

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

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

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