mfc图形和文本输出

mfc图形和文本输出

ID:21967966

大小:1.22 MB

页数:84页

时间:2018-10-21

mfc图形和文本输出_第1页
mfc图形和文本输出_第2页
mfc图形和文本输出_第3页
mfc图形和文本输出_第4页
mfc图形和文本输出_第5页
资源描述:

《mfc图形和文本输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3图形和文本输出3.1图形设备接口和设备环境3.2GDI对象CGdiObject3.3画笔和画刷的使用3.4文本3.5位图3.6上机指导抽象接口,负责管理用户绘图操作时功能的转换,用于实现图形操作与设备间的无关性,避免了用户对硬件直接进行操作。用户通过调用GDI函数与设备打交道,GDI通过不同设备提供的驱动程序将绘图语句转换为对应的绘图指令。windows支持与设备无关的图形利用GDI和Windows设备驱动程序开发人员只要建立与输出设备的关联,让系统加载相应的设备驱动程序即可3.1图形设备接口GDI(GraphicsDeviceInterface)Windows应用程序绘图过程应用程序可以

2、使用GDI创建3种类型的图形输出:1.矢量图形:画线和填充图形,包括点、直线、曲线、多边形、扇形和矩形等。2.光栅图形:光栅图形函数对以位图形式存储的数据进行操作,包括各种位图和图标的输出。在屏幕上表现为对若干行和列的像素操作,在打印机上则是若干行和列的点阵输出。光栅图形是直接从内存到显存的复制操作,所以速度快,但是对内存大小要求高。3.文本:Windows文本是图形方式输出。输出文本时对输出位置的计算不是以行为单位,而是以逻辑坐标为单位进行计算。用户可以设置文本的各种效果,如加粗、斜体、设置颜色等。设备环境DC为了体现Windows的设备无关性,应用程序的输出不直接面向显示器或打印机等物理

3、设备,而是面向被称为设备环境DC的虚拟逻辑设备DC是由GDI创建、用来代表设备连接的数据结构DC的主要功能允许应用程序使用一个输出设备。提供Windows应用程序、设备驱动和输出设备之间的连接。保存当前信息,例如当前的画笔、画刷、字体和位图等图形对象及其属性,以及颜色和背景等影响图形输出的绘图模式。保存窗口剪切区域(ClippingRegion),限制程序输出到输出设备中窗口覆盖的区域。应用程序设备环境及其属性通过设备环境的句柄来间接地存取应用程序每一次图形操作均参照设备环境中的属性执行设备环境类设备环境类CDC及其功能设备环境类CDC的一些常用函数设备环境类CDCMFC封装了DC,提供CD

4、C类及它的子类以访问GDI。环境设备类的功能Windows用COLORREF类型的数据存放颜色,它实际上是一个32位整数。COLORREF类型数据的低位字节存放红色强度值,第2个字节存放绿色强度值,第3个字节存放蓝色强度值,高位字节为0,每一种颜色取值范围为0~255。Windows使用宏RGB定义绘图的颜色,其形式为:RGB(nRed,nGreen,nBlue)红色值蓝色值绿色值RGB(255,0,0)RGB(0,255,0)RGB(0,0,255)颜色的设置演示颜色设置COLORREFrgbBkClr=RGB(255,0,0);pDC->SetBkColor(rgbBkClr);pDC-

5、>SetTextColor(RGB(0,0,255));pDC->TextOut(100,100,"HelloWorld");获取设备环境绘图前,必须准备好设备环境DC。1、传统的SDK获取设备环境2、MFC应用程序获取设备环境传统SDK获取设备环境(1)在WM_PAINT消息处理函数中使用API函数BeginPaint()获取设备环境,在消息处理函数返回前调用API函数EndPaint()释放设备环境。(2)不在WM_PAINT消息处理函数中,调用API函数GetDC()获取设备环境,调用API函数ReleaseDC()释放设备环境。使用SDK全局函数画线OnLButtonUpOnLBut

6、tonDown使用设备句柄(画图前必须先获得一个DC)和窗口句柄(m_hWnd继承自CWnd,通过窗口句柄获得设备句柄GetDC());调用全局函数MoveToEX()和LineTo(),画完使用ReleaseDC()释放资源HDChdc;hdc=::GetDC(m_hWnd);MoveToEx(hdc,pt.x,pt.y,NULL);LineTo(hdc,point.x,point.y);::ReleaseDC(m_hWnd,hdc);MFC应用程序获取设备环境MFC提供了不同类型的设备环境类CDC(CDC、CPaintDC、CClientDC、CWindowDC等),每一个类都封装了设备

7、环境句柄,并且它们的构造函数可自动调用上述获取设备环境的Win32API函数,析构函数可自动调用释放设备环境的Win32API函数。在一个MFC应用程序中获得DC的方法主要有两种:1、定义一个CDC类型的指针,使用CWnd类的GetDC函数获得当前窗口的设备描述表的指针;2、声明一个MFC设备环境类的对象,并使用this指针为该对象赋值。示例CDC*pDC=GetDC();pDC->MoveTo(pt);pD

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

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

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