Easy Graphics Engine简写作EGE,是windows下的简易绘图库,是一个类似BGI(graphics.h)的面向C/C++语言新手的图形库,它的目标也是为了替代TC的BGI库而存在,感兴趣的朋友不要错过了。

它的使用方法与TC中的graphics.h相当接近,对新手来说,简单,友好,容易上手,免费开源,而且接口意义直观,即使是完全没有接触过图形编程的,也能迅速学会基本的绘图。

软件介绍

本库是一个类似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模式编程

更新内容

新特性

库文件名统一为 graphics[64].lib 或 libgraphics[64].a

初始化图形对象或调用 resize 时,支持将图形对象的长或宽设置为 0

增加 INIT_UNICODE 初始化选项,此选项会创建 Unicode 窗口

增加 ege::seticon 函数,可通过资源 ID 设置窗口图标

增加 ege::ege_drawtext,支持绘制文字时使用 Alpha 通道混合,呈现半透明效果

增加 putpixel_withalpha 和 putpixel_withalpha_f 函数,支持带透明通道绘制像素点

允许在 initgraph 前调用 newimage 创建图形对象

支持加载资源中 PNG 格式图片

使 getkey 可返回 key_msg_char 类型的消息,现在 EGE 支持读取输入法输入了

允许在调用 initgraph 前设置窗口标题和图标

修复 BUG

修正 putimage 系列函数裁剪区计算错误的 BUG

修复了 initgraph 的内存泄漏情况

修复了 setactivepage() 和 setvisualpage() 无法使用的问题

修正 putpixel 等函数颜色格式错误

修正关于线型设置的 BUG

修正某些函数传入 NULL 时段错误的 BUG

其它

使用 CMake 作为编译系统

从 ege.h 中移出 EgeControlBase 的定义到 ege/egecontrolbase.h 中

默认字体设置为宋体

使用 PCIMAGE 作为 const IMAGE* 的别名,并作为某些函数的形参类型

生成的静态库文件中不再包含 gdiplus 静态库

改用误差更小的 Alpha 通道混合算法

增加之前缺少的键码

resize 不再用默认背景色清空图像

修改了 initgraph 的接口定义

下载地址

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。