《GDI编程1-绘图.docx》由会员分享,可在线阅读,更多相关《GDI编程1-绘图.docx(2页珍藏版)》请在第壹文秘上搜索。
1、GDl编程I-绘图GDI(GraphicsDeviceInterface,图形设备接口)是WindoWS操作系统的传统图形子系统,负责与设备无关的图形绘制,Win32API为应用程序供应了丰富的绘图函数和功能,MFC对它们进行了C+类封装,参见图8-UWindows应用程序MECWin32APIGDI+执行程序用户界面(User)图形子系统(GDI)图形驱动程序设备驱动程序内核(Kernel)硬件抽象层(HA1.)计算机硬件图8-1GDI与Windows操作系统(其中彩色部分为操作系统)传统GDl是随Windows1.0于1985年11月推出的,新式GDI+则是随WindowsXP于2001年
2、10月推出的GDl的改进版,增加了混色、渐变画刷、样条曲线、矩阵变换、图像处理、长久路径等新功能。随WindowsVista及.NET框架3.0微软于2006年11月又推出了基于DirectX和.NET框架的全新图形子系统WPF(WindowsPresentationFoundation.视窗显示/呈现基础),它统一了桌面和阅读器等客户端应用程序的图形界面,采纳XAM1.声明式编程,将用户界面的设计和编程彻底分别开来,是Windows的下一代GUi显示系统。本书从第8章到第11章,将具体探讨如何运用GDI进行传统的Windows图形编程,包括绘图、文字、图像、动画、图标、图元文件和打印等内容。
3、GDI+是建立在GDI之上的,安排在第14和15章中作简洁介绍。WPF则是以.NET框架为基础的,打算在第19上和20章中再加以探讨。在MFC应用程序中,绘图一般在视图类的(屏幕/打印机)绘图消息响应函数OnDraw中进行,例如:voidCDrawView:OnDraw(CDC*/*pDC*/)CDrawDoc*pDoc=Gct)ocument();ASSERT_VA1.ID(pDoc);if(!PDOC)return:/TODO:在此处为本机数据添加绘制代码每次须要重绘窗口时(如程序启动、窗口大小变更、全部或部分窗口重现、程序员调用函数RedraWWindoW或Invalidate/Upda
4、teWindow),应用程序框架都会调用此CWnd消息响应成员函数(的覆盖)来绘制窗口客户区。在Windows中,绘图一般在框架窗口的客户区(对应于视图类C*View)进行,运用的是封装在MFC的设备上下文(Device-Context,DC)类CDC中的各种绘图函数。在绘图前,一般需先得到客户区大小和CDC对象、设置绘图颜色,然后再依据文档数据或用户操作来绘制各种图形。8.1几何对象的结构和类为了运用绘图函数,应当先了解绘图所用到的几种表示几何对象的结构和类,包括点、大小和矩形,其中常用的是点和矩形。这些结构和类被分别定义在头文件windef.h和afxwin.h中。MFC中的几何对象类都是独立的类(不.