Windows+GDI和GDI+编程实例剖析

Windows+GDI和GDI+编程实例剖析

ID:45758674

大小:527.94 KB

页数:26页

时间:2019-11-17

Windows+GDI和GDI+编程实例剖析_第1页
Windows+GDI和GDI+编程实例剖析_第2页
Windows+GDI和GDI+编程实例剖析_第3页
Windows+GDI和GDI+编程实例剖析_第4页
Windows+GDI和GDI+编程实例剖析_第5页
资源描述:

《Windows+GDI和GDI+编程实例剖析》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1.基本概念GDI在Windows中定义为GraphicsDeviceInterface,即图形设备接口,是WindowsAPI(ApplicationProgrammingInterface)的一个重要组成部分。它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具体设备的细节,而只需在一个虚拟的环境(即逻辑设备)屮进行操作。它的桥梁作用体现在:(1)用户通过调用GDI函数将逻辑空间的操作转化为具体针对设备驱动程序的调用。为实现图形设备无关性‘Windows的绘图操作在一个设备描述表上进行。用户拥有自己的〃逻辑坐标〃系统

2、,它独立于实际的物理设备,与〃设备坐标〃相对应。开发Windows应用程序时,程序员关心的是逻辑坐标,我们在逻辑坐标系上绘图,利用GDI将逻辑窗口映射到物理设备上。(2)GDT能检测具体设备的能力,并依据具体的设备以最优方式驱动这些设备,完成真实的显示。GDI函数大致可分类为:设备上下文函数(如GetDC、CreateDC>DeleteDC)>画线函数(如LineTo、Polyline、Arc)、填充画图函数(如Ellipse^FillRect^Pie)、画图属性函数(如SetBkColor>SetBkMode、SetTcxtColor)>文本、字

3、体函数(如TcxtOut、GctFontData)>位图函数(如SetPixel、BitBlt^StrctchBlt)坐标函数(如DPtoLP、LPtoDP>ScreenToClient>ClientToScreen)>映射函数(如SetMapMode、SetWindowExtEx>SetViewportExtEx)>元文件函数(如PlayMetaFile、SetWinMetaF订eBits)、区域函数(如FillRgn>FrameRgn^InvertRgn)>路径函数(如BeginPath>EndPath>StrokeAndFillPath)>裁

4、剪函数(如SelectClipRgn>SelectClipPath)等。GDT虽然使程序员得到了一定程度的解脱,但是其编程方式仍很麻烦。譬如,显示一张位图,程序员需要进行〃装入位图一读取位图文件头信息一启用设备场景一调色板变换〃等一连串操作。而有了GDI+,这些问题便迎刃而解了。顾名思义,GDI+是GDI的增强版。它是微软在Windows2000以后操作系统中提供的新接口,其通过一套部署为托管代码的类来展现,这套类被称为GDI+的〃托管类接口〃。GDI+主耍提供了以下三类服务:(1)二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、

5、存储图形基元绘制方式信息的类以及实际进行绘制的类;(2)图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形方式进行处理。因此,GDI+为我们提供TBitmap.Image等类,它们可用于显示、操作和保存BMP、JPG、GIF等图像格式。(3)文字显示:GDT+支持使用各种字体、字号和样式來显示文本。GDI接口是基于函数的,而GDI+是基于C++类的对象化的应用程序编程接口,因此使用起来比GDI要方使。1.例程简述单击此处下载本文例程源代码。本文后续的讲解都基于这样的一个例子工程(例程的开发环境为VisualC++6.0,操作系统

6、为WindowsXP),它是一个基于对话框的MFC应用程序,包括2个父菜单:(1)GDIGDI父菜单下包括一个子菜单:ID:IDM_GDI_DRAW_LINEcaption:画线单击事件:在窗口绘制正旋曲线(2)GDI+DIB位图父菜单下包括两个子菜单:a.ID:IDM_GDIP_DRAW丄INEcaption:画线单击事件:在窗口绘制正旋曲线b.caption:新增功能,其下又包括下列子菜单:(i)ID:TDMGradientBrushcaption:渐变画刷单击事件:在窗口演示GDI+的渐变I田i刷功能(ii)ID:11)M_Cardinal_

7、Splinecaption:基数样条单击事件:在窗口演示GDI+的基数样条函数功能⑴i)ID:IDM_Transformation_Matrixcaption:变形和矩阵对象单击事件:在窗口演示GDI+的变形和矩阵对象功能(iv)ID:IDM_Scalable_Regioncaption:可伸缩区域单击事件:在窗口演示GDT+的nJ伸缩区域功能(v)ID:IDM_IMAGEcaption:图像单击事件:在窗口演示GDI+的多种图像格式支持功能(iv)ID:lDM_Alpha_Blcndcaption:Alpha混合单击事件:在窗口演示GDI+的Al

8、pha混合功能(v)ID:IDMTEXTcaption:文木单击事件:在窗口演示GDJL+的强大文本输岀能力后续篇章将集中

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

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

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