DC和RC的简单介绍

来源:互联网 发布:机动车扣分查询软件 编辑:程序博客网 时间:2024/05/29 19:32

DC

在WINDOWS下,使用GDI(图形设备接口)开发应用程序时,首先需要获得一个Device Context(设备描述表,简称DC),然后才能在这个DC下完成绘图工作,这一过程就类似于现实生活中纸和笔的关系,DC就是纸,而象刷子、画笔这样 的GDI对象就是笔(采用什么样的刷子和笔,或者什么颜色都是DC提供的)。从Windows内部运行机制来分析,DC应该理解为状态保持器,就是它可以而且必须保存当前系统的状态,这些状态包括:当前的画 笔、刷子等GDI的具体类型(颜色、粗细等),当前的调色板类型以及系统的其他信息。当用户开始在DC上进行绘制工作时,系统就会先查看DC中相应的当前 状态值,然后利用这些状态值进行图形绘制,假如希望改变当前状态值,那么可以通过SelectObject这样的Win32函数来将指定的状态或者对 象选入DC即可。   

RC

实际上基于OpenGL的应用程序也是这样的,只是这里不是直接在DC上进行绘制工作,而是通过Render Context(渲染描述表或者绘制描述表,简称为RC)这样一个桥梁在DC上进行绘制工作,对于程序来说实际上可以理解为就是在RC上绘制图形。另外只 要RC不被释放(有效),那么就可以进行绘制工作;相比之下,DC却需要不断的创建和释放。所以要使用OpenGL图形库进行图形应用开发,首先要获得RC,然后要将其设置为"当前RC",最后后面所有的绘制工作都是在"当前RC"下面进行的,直到"当前RC"无效为止。

0 0
原创粉丝点击