文档详情

【教学课件】第7章位图应用

公****
实名认证
店铺
PPT
349.97KB
约8页
文档ID:606082979
【教学课件】第7章位图应用_第1页
1/8

单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第7章 位图应用,位图的基本概念,位图基础知识,位图的结构与表示,在,VC,中使用与操作位图,使用,CBitmap,类,操作位图,使用,API,函数操作,DDB,位图,使用,API,函数操作,DIB,位图,位图应用的实例,位图按钮的实现,位图基础知识,位图与矢量图,位图:光栅图,以像素来表示图像,记录每个像素的颜色、亮度等属性,矢量图:采用数学方法来描述构成图像的一系列形状和线段,位图的彩色模式,颜色深度:描述每个像素占用的二进制位数,彩色模式:在描述颜色时,需要对颜色数字化,在显示颜色时,需要解析描述颜色的数据并将颜色信息恢复到输出设备上,这种描述颜色的数值化方法称为彩色模式,,RGB、CMYK,Windows,中的位图,DDB,位图:依赖与显示设备的位图,DIB,位图:设备无关位图,位图的结构与表示,DDB,位图的结构与表示,与设备相关位图只能存在于内存中,结构信息由结构体,BITMAP,描述,说明位图类型、尺寸、颜色格式、位数等信息,CBitmap,类,封装了对,DDB,位图的操作,DIB,位图:可以以磁盘文件的形式存在,描述信息由以下四个部分构成,文件头:,BITMAPFILEHEADER,结构体描述,说明类型、文件大小(字节)及图形数据的起始位置,位图信息头:由,BITMAPINFO,描述,包含两部分,BITMAPINFOHEADER,,描述位图大小及颜色格式,颜色信息:,RGBQUAD,,描述图形的颜色表,位图数据区:记录位图的每一个像素,使用CBitmap类操作位图,读取并显示位图,插入位图资源并分配资源标识符,构造位图类对象,使用,LoadBitmap,将位图资源装入,构造内存设备上下文,,CreateCompatibleDC,将位图选入内存设备上下文,,SelectObject,使用,BitBlt,、,StretchBlt,将位图输出到显示设备上下文,绘制并显示位图,构造内存设备上下文,构造位图类对象并对其初始化,,CreateCompatibleBitmap,等,将位图对象选入内存设备上下文,调用内存设备上下文的,GDI,函数绘制位图,调用,BitBlt,、,StretchBlt,输出位图到显示设备上下文,使用API函数操作DDB位图,创建位图,,CreateCompatibleBitmap,、,CreateBitmap,创建内存设备上下文,,CreateCompatibleDC,BitBlt,、,StretchBlt,绘图函数,要点:掌握句柄与类对象之间的相互转换,API,函数使用句柄标识位图、设备上下文等对象,可以将位图句柄转换为位图类对象,调用格式为,Cbitmap,*,pBitmap,=,Cbitmap,:,FromHandle,(,hBitmap,),将句柄转换为位图类对象,,HBITMAP,hBitmap,=(HBITMAP),pBitmap,-,GetSafeHandle,(),设备上下文类对象和句柄也可以采用类似的方法相互转换,使用API函数操作DIB位图,从,DDB,位图中产生,DIB,位图,,GetDIBits,将,DIB,位图转换为,DDB,位图,,SetDIBits,、,CreateDIBitmap,等,输出,DIB,位图,,StretchDIBits,实例:实现应用程序的启动画面,实质:在显示程序窗口之前,创建窗口显示位图,经过适当延时后,关闭位图窗口,继续程序运行,插入位图,分配资源标识符,创建用来显示位图的窗口类(,CWnd,派生),在窗口类的,Create,函数中,创建位图,获取位图信息,将,DIB,位图转换为,DDB,位图,将窗口显示于屏幕中央,映射窗口类的,WM_PAINT,消息,输出位图,在应用程序类的,InitInstance,创建并更新窗口,延时后关闭之,要点::,GetDC,(NULL),,可获得操作整个屏幕的设备上下文,位图按钮的实现,制作位图,每个按钮最多4种状态,可制作14个位图文件,将位图插入资源中,分配字符串标识符,添加按钮控件,设置属性的,Ownerdraw,属性,在对话框类中添加,CBitmapButton,类对象成员,在构造函数中调用,LoadBitmaps,,,将位图资源装入位图按钮类对象中,在对话框的,InitDialog,中,调用,SubclassDlgItem,,,用位图按钮类的消息映射接替按钮类的消息映射,更简洁的方法:,添加按钮控件,制作位图并插入位图资源中,设置按钮的,Caption,属性(英文不重复),设置字符串标识符为对应按钮的,Caption(,转换为大写)加上表示状态的大写字母(,U、D、F、X),定义,CBitmapButton,成员变量,在构造函数中调用,AutoLoad,成员,自动实现按钮与位图资源的关联,。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档