VC图像编程学习(之二)
时间:2010-04-24 来源:qhw
一. Windows DIB位图结构
DIB位图文件的结构按顺序包括:
1.位图文件头文件结构BITMAPFILEHEADER
2.位图信息头结构BITMAPINFOHEADER
3.位图颜色表GBQUAD
4.图像数据
在内存中,一个完整的DIB由后3个组成
二. DIB位图的操作
步骤一:读取位图信息
步骤二:利用DIB颜色表建立位图调色板,并设置调色板
步骤三:显示位图
三. 构建CDib类
由于MFC类中没有设计处理DIB位图的类,因此利用DIB位图编程时,只能使用Win32 SDK的相关API函数,使用起来不方便,最好的办法是定义一个处理DIB位图的专用类,其中封装必须而且有效地DIB数据成员和处理函数。
四. 附录
DeleteContents():1.删除文档的数据;2确信一个文档在使用前为空。
BeginWaitCursor():是CCmdTarget类的函数,功能简介:本函数用于显示沙漏光标(通常在命令执行较长时采用)。
SetPathName():为文档的磁盘文件指定全限定路径。
SetModifiedFlag():此函数用来表明用户是否修改了属性页面
CxxView::OnInitialUpdate():视图窗口完全建立后第一个被框架调用的函数。框架在第一次调用OnDraw前会调用OnInitialUpdate,因此OnInitialUpdate是设置滚动视图的逻辑尺寸和映射模式的最合适的地方。
时间上,两者先后顺序不同,构造函数生成本类的对象,但没有产生窗口,OnCreate后窗口产生, 然后才是视图的OnInitialUpDate,一般在这里对视图的显示做初始化。简单点,就是ONCREATE只是产生VIEW的基本结构和变量而在OnInitialUpDate()中,主要初始化视图中控件等。对各个变量进行初始化操作。
Windows API SetROP2(int nDrawMode):该函数的主要的作用是根据nDrawMode设置的方式重新设定绘图的方式
BeginWaitCursor():是CCmdTarget类的函数,功能简介:本函数用于显示沙漏光标(通常在命令执行较长时采用)。
SetPathName():为文档的磁盘文件指定全限定路径。
SetModifiedFlag():此函数用来表明用户是否修改了属性页面
CxxView::OnInitialUpdate():视图窗口完全建立后第一个被框架调用的函数。框架在第一次调用OnDraw前会调用OnInitialUpdate,因此OnInitialUpdate是设置滚动视图的逻辑尺寸和映射模式的最合适的地方。
时间上,两者先后顺序不同,构造函数生成本类的对象,但没有产生窗口,OnCreate后窗口产生, 然后才是视图的OnInitialUpDate,一般在这里对视图的显示做初始化。简单点,就是ONCREATE只是产生VIEW的基本结构和变量而在OnInitialUpDate()中,主要初始化视图中控件等。对各个变量进行初始化操作。
Windows API SetROP2(int nDrawMode):该函数的主要的作用是根据nDrawMode设置的方式重新设定绘图的方式
相关阅读 更多 +