1.1 概要

1、文档说明

本库是一个类似graphics.h的BGI图形库,使用方法相当接近,所以学习过TC图形的话会很容易上手

基本使用方法几乎和TC的一样,只要#include "graphics.h"就可以了

本图形库目前支持VC6, VC2008, VC2010等IDE,同时也支持MinGW编译器和使用MinGW编译器的IDE(如Code::Blocks,C-Free,Dev-CPP,eclipse for C/C++)

在graphics.h头文件的最顶处有相关的说明,并且附带较详细的pdf文档


●为什么要写这个库?


许多学编程的都是从 C 语言开始入门的,而目前的现状是:


1. 有些学校以 Turbo C 为环境讲 C 语言,只是 Turbo C 的环境实在太老了,复制粘贴都很不方便。

2. 有些学校直接拿 VC 来讲 C 语言,因为 VC 的编辑和调试环境都很优秀,并且 VC 有适合教学的免费版本。可惜在 VC 下只能做一些文字性的练习题,想画条直线画个圆都很难,还要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用 TC,很是无奈。

3. 还有计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的 OpenGL,可是门槛依然很高。


所以,我想给大家一个更好的学习平台,就是 VC 方便的开发平台和 TC 简单的绘图功能,于是就有了这个库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,再或者您在教计算机图形学,那么这个库一定会让您兴奋的。

另外:这个库不是为了给你直接移植BGI图形代码用的,直接移植多半是不能通过编译的。

      如果真需要移植,请做相应的修改,或者使用高兼容性的ege老版本图形库



●本图形库的优点:

★绘图效率较好,特别在批量绘图模式下,640*480的半透明混合,可以直接使用 getpixel / putpixel 完成,

  并且可以在大约1.5G CPU台式机器上达到60fps(要优化,否则一般的家用机再强也不行)

★灵活性更强,绘图可以直接针对一个PIMAGE,不必只能画在屏幕上

★功能更多,支持拉伸贴图,支持透明半透明贴图,支持图像模糊滤镜操作,

  可以用对话框函数进行图形化的输入

★面向动画编程和游戏编程做了功能增强,可以方便地对帧率进行准确的控制

★附带简单的3D矢量运算函数和类,便于3D计算

★支持读写多种格式图片,支持读取bmp, jpg, png, gif,支持保存为bmp和png

★支持GUI模式编程


●简要安装说明

把include/graphics.h文件,复制到你的编译器安装目录下的include目录内

再把lib目录下的文件,复制到你的编译器安装目录下的lib目录内,具体编译器所依赖的文件情况:

VC6: graphics.lib

VS2008: graphics08.lib graphics08d.lib

VS2010: graphics08.lib graphics10d.lib

MinGW: libgraphics.a

●简要使用说明

目前模拟了绝大多数 BGI 的绘图函数。使用上,基本和 TC / BC 没太大区别。看一个画圆的例子吧:

#include "graphics.h"      // 引用ege图形库
int main()
{
    initgraph(640, 480);   // 初始化,显示一个窗口,这里和 TC 略有区别
    circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100
    getch();               // 暂停一下等待用户按键
    closegraph();          // 关闭图形界面
    return 0;
}


呵呵,很简单吧。

2、版权声明

    EGE 文档频道版权归 EGE社区所有,未经许可不得转载。