WGF 使用说明书
WGF 使用说明书
目 录
1 WGF 介绍 ................................................................................................................................................ 1
1.1 简介.................................................................................................................................................. 1
1.2
开发环境........................................................................................................................................... 1
1.3
产生背景........................................................................................................................................... 1
1.4
工作内容........................................................................................................................................... 2
1.5
特点 .................................................................................................................................................. 2
2 使用 说明 ................................................................................................................................................. 3
2.1 目录结构说明................................................................................................................................... 3
2.2
环境配置........................................................................................................................................... 4
2.3
开发方法........................................................................................................................................... 5
3 其它 ......................................................................................................................................................... 5
3.1 例程说明........................................................................................................................................... 5
3.2
版权说明........................................................................................................................................... 6
3.3
联系作者........................................................................................................................................... 6
1
1 WGF 介绍
1.1 简介
WGF(windows graphic foundation)为 windows 下的 gdi 和 gdiplus 双缓冲绘图框架。
框架在 VC6.0 下使用 C++语言开发而成并以可扩展的 MFC 动态链接库形式提供,适用于
windows 操作系统。WGF 为完全开源的免费产品,可以用于任何商业的和非商业的用途。
WGF 设计的目的是对 windows 下的 gdi 和 gdiplus 双缓冲绘图进行封装和优化。WGF
封装了使用 gdi 和 gdiplus 进行双缓冲绘图的实现细节,使用框架进行双缓冲绘图时感觉
就像是在窗口上绘图一样。同时,WGF 通过将绘图内容划分为静态场景和动态场景以及通
过采用 gdi 和 gdiplus 混合绘图的方式对 windows 下的 gdi 和 gdiplus 绘图进行了优化。
1.2 开发环境
操作系统:windows 2000、windows xp
集成开发环境:VC6.0
开发语言:C++
相关类库:MFC
1.3 产生背景
WGF 的产生主要是由于在使用 gdi 和 gdiplus 进行双缓冲绘图时存在着效率低下的问
题。
a) 双缓冲绘图潜在的效率问题
双缓冲刷新技术是一项解决刷屏时存在的屏幕闪烁问题的有效方法。这种方法通过将
图形绘制在与窗口设备上下文兼容的后备缓冲区中然后通过内存拷贝到前端缓冲区进行
显示的方式实现。双缓冲刷新技术通常在需要进行实时图形显示的情况下使用,因为屏幕
闪烁问题在高速刷新的情况下较为明显。如果将所有的绘图场景不加区分的在每一次刷新
时都进行重绘,双缓冲刷新技术是低效的,但是这种状况可以通过引入一个与窗口设备上
下文兼容的内存静态设备描述表加入改进。通常情况下,绘图的场景可以划分为静态场景
和动态场景,静态场景是指位置和各种图形属性不随时间发生变化的场景,例如一个足球
场地;动态场景是指位置或者图形属性随时间发生变化的场景,例如足球场上的足球和运
动员。在采用双缓冲技术进行绘图时,可以通过对静态场景进行特殊处理以减少重绘时的
任务量,方法是在第一次进行屏幕刷新时将静态场景绘制在一个与窗口设备上下文兼容的
内存静态设备描述表中,在以后重绘时则不需要再次重新绘制静态场景而只需要将保存在
内存静态设备描述表中的静态场景拷贝到后备缓冲区中,然后再将动态场景直接绘制在后
备缓冲区中,最后将整个后备缓冲内容拷贝到前端缓冲区完成整个双缓冲绘图过程。该方
法的原理是因为静态场景不会随着时间发生变化,因此不需要每一次刷新时都进行重绘,
而只需要在绘图区域的大小发生改变时重绘即可。使用这种方法的额外开销是引入了一个