版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 位图应用1.位图的基本概念位图基础知识位图的结构与表示2.在VC中使用与操作位图使用CBitmap类操作位图使用API函数操作DDB位图使用API函数操作DIB位图3.位图应用的实例位图按钮的实现位图基础知识1.位图与矢量图位图:光栅图,以像素来表示图像,记录每个像素的颜色、亮度等属性矢量图:采用数学方法来描述构成图像的一系列形状和线段2.位图的彩色模式颜色深度:描述每个像素占用的二进制位数彩色模式:在描述颜色时,需要对颜色数字化,在显示颜色时,需要解析描述颜色的数据并将颜色信息恢复到输出设备上,这种描述颜色的数值化方法称为彩色模式,RGB、CMYK3.Windows中的位图DDB位图
2、:依赖与显示设备的位图DIB位图:设备无关位图位图的结构与表示1.DDB位图的结构与表示与设备相关位图只能存在于内存中结构信息由结构体BITMAP描述,说明位图类型、尺寸、颜色格式、位数等信息CBitmap类封装了对DDB位图的操作2.DIB位图:可以以磁盘文件的形式存在,描述信息由以下四个部分构成文件头:BITMAPFILEHEADER结构体描述,说明类型、文件大小(字节)及图形数据的起始位置位图信息头:由BITMAPINFO描述,包含两部分BITMAPINFOHEADER,描述位图大小及颜色格式颜色信息:RGBQUAD,描述图形的颜色表位图数据区:记录位图的每一个像素使用CBitmap类操
3、作位图1.读取并显示位图插入位图资源并分配资源标识符构造位图类对象,使用LoadBitmap将位图资源装入构造内存设备上下文,CreateCompatibleDC将位图选入内存设备上下文,SelectObject使用BitBlt、StretchBlt将位图输出到显示设备上下文2.绘制并显示位图构造内存设备上下文构造位图类对象并对其初始化,CreateCompatibleBitmap等将位图对象选入内存设备上下文调用内存设备上下文的GDI函数绘制位图调用BitBlt、StretchBlt输出位图到显示设备上下文使用API函数操作DDB位图1.创建位图,CreateCompatibleBitmap
4、、CreateBitmap2.创建内存设备上下文,CreateCompatibleDC3.BitBlt、StretchBlt绘图函数4.要点:掌握句柄与类对象之间的相互转换API函数使用句柄标识位图、设备上下文等对象可以将位图句柄转换为位图类对象,调用格式为Cbitmap *pBitmap = Cbitmap:FromHandle ( hBitmap )将句柄转换为位图类对象,HBITMAP hBitmap = (HBITMAP) pBitmap-GetSafeHandle()设备上下文类对象和句柄也可以采用类似的方法相互转换使用API函数操作DIB位图1.从DDB位图中产生DIB位图,Get
5、DIBits2.将DIB位图转换为DDB位图,SetDIBits、CreateDIBitmap等3.输出DIB位图,StretchDIBits4.实例:实现应用程序的启动画面实质:在显示程序窗口之前,创建窗口显示位图,经过适当延时后,关闭位图窗口,继续程序运行插入位图,分配资源标识符创建用来显示位图的窗口类(CWnd派生)在窗口类的Create函数中,创建位图,获取位图信息,将DIB位图转换为DDB位图,将窗口显示于屏幕中央映射窗口类的WM_PAINT消息,输出位图在应用程序类的InitInstance创建并更新窗口,延时后关闭之要点::GetDC(NULL),可获得操作整个屏幕的设备上下文位图按钮的实现1.制作位图,每个按钮最多4种状态,可制作14个位图文件2.将位图插入资源中,分配字符串标识符3.添加按钮控件,设置属性的Ownerdraw属性4.在对话框类中添加CBitmapButton类对象成员,在构造函数中调用LoadBitmaps,将位图资源装入位图按钮类对象中5.在对话框的InitDialog中,调用SubclassDlgItem,用位图按钮类的消息映射接替按钮类的消息映射6.更简洁的方法:添加按钮控件,制作位图并插入位图资源中设置按钮的Caption属性(英文不重复),设置字符串标识符为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级物理学习使用天平和量筒
- 2027届上海市娄山教育集团四校物理九年级第一学期期末质量跟踪监视试题含解析
- 2027届山东省惠民县联考物理九上期末综合测试试题含解析
- 2027届广西壮族自治区崇左市化学九年级第一学期期末学业水平测试试题含解析
- 2027届山东省平邑县九上化学期中质量跟踪监视模拟试题含解析
- 胆管结石患者的术后宣教
- (新)市场卫生保洁承包合同
- (新)建筑施工合同协议书范本
- 基于儿歌的性格测试题目及答案解析
- 甘肃省庆阳宁县联考2027届九年级化学第一学期期中学业质量监测试题含解析
- 小学英语期末考试试题套卷
- 医院机电系统设计汇报
- 安徽省六校教育研究会2025-2026学年高一新生入学素质测试数学试题(含答案)
- 2025版学校桶装水采购及使用规范合同
- GJB1406A-2021产品质量保证大纲要求
- 商场餐饮合作抽成合同协议书
- DB15T 970-2024 居住物业管理服务规范
- 招聘消防文员试题及答案
- 安全管理人员七大职责
- 铁路劳动安全 课件 第三篇 季节性劳动安全
- JGJT46-2024《施工现场临时用电安全技术标准》条文解读
评论
0/150
提交评论