浅谈lesson 0708图形设备接口.doc

浅谈lesson 0708图形设备接口.doc

ID:49890480

大小:157.50 KB

页数:41页

时间:2020-03-05

浅谈lesson 0708图形设备接口.doc_第1页
浅谈lesson 0708图形设备接口.doc_第2页
浅谈lesson 0708图形设备接口.doc_第3页
浅谈lesson 0708图形设备接口.doc_第4页
浅谈lesson 0708图形设备接口.doc_第5页
资源描述:

《浅谈lesson 0708图形设备接口.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、n更多企业学院:《中小企业治理全能版》183套讲座+89700份资料《总经理、高层治理》49套讲座+16388份资料《中层治理学院》46套讲座+6020份资料 《国学智慧、易经》46套讲座《人力资源学院》56套讲座+27123份资料《各时期职员培训学院》77套讲座+324份资料《职员治理企业学院》67套讲座+8720份资料《工厂生产治理学院》52套讲座+13920份资料《财务治理学院》53套讲座+17945份资料 《销售经理学院》56套讲座+14350份资料《销售人员培训学院》72套讲座+4879份资料41/41Lesson07-08图形设备接口Windows系统具有丰富的图形界面。Windo

2、ws系统提供许多函数来实现绘图的要求。而图形设备接口(GraphicsDeviceInterface,简写为GDI)就可看作是这些函数的集合。GDI表示的是一个抽象的接口。通过该接口能够实现对图形的颜色、线条的粗细等属性的操纵(甚至包括输出文字在内)。应用程序能够通过调用这些GDI函数和硬件打交道,而不必明白到底是哪个厂家生产的硬件,从而实现了设备无关性。Windows系统本身也使用GDI来绘制用户界面的各个部分。一、设备环境1.设备环境Windows默认使用客户区坐标系,其原点在窗口客户区的左上角,X轴的正方向指向右边,Y轴的正方向指向下边。当应用程序并没有设置颜色、字体等时,系统使用默认的

3、设置。这些默认的设置保存在设备环境中。假如没有设备环境,则每输出一个字符串(调用一次TextOut函数),就需要把字体和颜色也作为参数传递给TextOut函数,而且如此的参数有专门多。为了幸免如此的苦恼,Windows41/41就把这些可能会重复的参数放在了设备环境中,如此每次只需要多传入一个设备环境的指针就能够了,大大减少了重复工作。设备环境(DeviceContext,缩写为DC,有时译为设备上下文,也称设备描述表)是一种包含各种绘图属性(如字体、颜色等等)和方法(即各种绘图函数)的数据结构(或者集合)。它不仅能够绘制各种图形,而且还能够确定在应用窗口中绘制图形的方式,即确定绘图混和模式和

4、映射模式。用户在绘图之前,必须猎取绘图窗口区域的一个设备环境DC,才能进行GDI函数的调用,执行适合于设备环境DC的命令(就像OnDraw函数中的pDC指针)。DC中除了提供绘图的函数(如:TextOut)以外,还会提供给用户改变绘图属性的函数,如颜色。Windows的设备环境是GDI的关键元素,它代表了不同的物理设备。分为4种类型:显示型、打印机型、内存型和信息型。每种类型的设备环境都有各自的特定用途,见下表:设备环境的类型和用途设备环境用途显示器型支持视频显示器上的绘图操作41/41打印机型支持打印机和绘图仪上的绘图操作内存型支持位图上的绘图操作信息型支持设备数据的访问2.MFC中的设备环

5、境类在MFC类库中,设备环境被CDC类封装了起来,而CDC类下面又有4个派生类,各有特点,并能够完成不同的功能,如下所示:CMetaFileDC专门用于Windows图元文件,剩下的三种DC类之间存在差不:CDC类的派生类派生类名称讲明CClientDC讲明一个客户区设备环境,提供对窗口客户区域的图形访问。在窗口中画图时可使用这种DC,但对WM_PAINT消息除外CWindowDC能够提供在整个窗口(包括客户区和非客户区)中画图的设备环境这是创建响应WM_PAINT消息41/41CPaintDC的设备环境,应用程序能够使用此类更新Windows显示,通常在MFC应用程序的OnPaint()函数

6、中使用CMetaFileDC那个设备环境代表Windows元文件,包含一系列命令以重新产生图像。要创建独立于设备的文件时可使用这种DC,用户能够回放这种文件来创建图像①CWindowDC类与CPaintDC和CClientDC类的区不■绘图区域不同:CWindowDC类与CPaintDC和CClientDC类的区不的一个方面确实是绘图区域不同。用CPaintDC类和CClientDC类的对象绘制图形时,绘制区只能是客户区,而不能在非客户区,而CWindowDC能够在非客户区进行图形绘制。■绘图坐标系不同:在CWindowDC绘图类下,坐标系是建立在整个屏幕上的,在像素坐标方式下,坐标原点在屏幕

7、的左上角,而在CPaintDC和CClientDC绘图类下,坐标系是建立在客户区上的,在像素坐标方式下,坐标原点在客户区的左上角。②CPaintDC类与CClientDC类的区不■绘图机制不同:CPaintDC类与CClientDC类差不多上在窗口的客户区内绘制图形,但两者在绘制机制上有着本质的区不。CPaintDC类应用在OnPaint函数中,以响应Windows的WM_PAINT41/41消息

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

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

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