好文档 - 专业文书写作范文服务资料分享网站

ege图形库基本说明

天下 分享 时间: 加入收藏 我要投稿 点赞

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

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

本图形库目前支持VC6, VC2008, VC2010等IDE,同时也支持MinGW编译器和使用MinGW编译器的IDE(如Code::Blocks,C-Free,Dev-CPP,eclipse for C/C++) 在头文件的最顶处有相关的说明,并且附带较详细的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 完成,

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

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

★功能更多,支持拉伸贴图,支持透明半透明贴图,支持图像模糊滤镜操作, 可以用对话框函数进行图形化的输入

★面向动画编程和游戏编程做了功能增强,可以方便地对帧率进行准确的控制 ★附带简单的3D矢量运算函数和类,便于3D计算

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

★支持GUI模式编程

●简要安装说明

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

VS2008: VS2010: MinGW:

●简要使用说明

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

#include \\ copy \ 前面的\是安装包里的文件

复制了这些文件后,就已经安装完成了。

然后,如果是VC或者VS,那么要建立一个工程

以下是VC6的操作步骤(但VS2008/VS2010/VS2012也类似),请按以下步骤做: 打开VC6后,新建一个Win32 Console工程(菜单->文件->新建),如下图:

右上角的工程名字写你喜欢的名字,其下方选择你要建立的工程的目录 点确定后,在弹出的对话框里选择“一个空工程”,然后直接点完成。 然后再次新建,不过这次新建一个C++ Source File,见下图:

右边文件名写你喜欢建立的名字,然后点确定,就可以开始编写代码了。

最后,请编写如下测试代码检测你的设置是否正确: #include <> int main() {

initgraph(640, 480); setcolor(GREEN);

line(100, 100, 500, 200); getch();

closegraph(); return 0;

}

然后,按F7键,或者点菜单上的Build(组建)来编译并链接,如果没有错误,就可以按F5运行了。

好了,为什么说VS2008和VS2010也类似呢?看看如下VS2008的截图你就明白了:

后面建立文件的时候,在左侧的General就能找到C++源文件了。如果你的是中文版,那就细心找找吧,不难找的。

至于VS2010的就不截图了,因为几乎和VS2008一样。

至于在MinGW下的编译问题,会麻烦一些,如果你懂使用命令行编译,那么需要用如下指令编译:

g++ -lgraphics -lgdi32 -limm32 -lmsimg32 -lole32 -loleaut32 -lwinmm -luuid -mwindows

其中是你要编译的cpp文件

如果你使用的是IDE,那就要看那个IDE是如何设置的,这里无法一一列举, 主要需要设置两样东西:

一是建立Win32 Application工程(目的是让它以-mwindows来编译,这个选项很重要)

二是要添加链接库

需要加入graphics, gdi32, imm32, msimg32, ole32, oleaut32, winmm, uuid共8个

例如在Code::Blocks下(需要建立project),在菜单 - Project - build options,设置Linker选项,如图:

例如在下,则可以在 菜单->构建->构建选项 里,设置连接选项,如图:

但是,如果你是以建立工程的方式建立,而不是建立单文件的话, 或者你发现上面的设置无效,那你需要在菜单 - 工程 - 设置,在这设置连接选项

此外,C-Free比较特殊的一点是,如果需要编译为Win32应用程序,那么要用WinMain来声明你的主函数,如: #include <>

int WinMain() ,像即12年三月发布) ★调整编译参数

★默认标题风格调整 ★源代码目录结构调整

2012年: 0107:

★对objc++编译做兼容 ★部分函数风格调整

★增加控件button(未完善,测试版)

2011年: 0724: ★Bug修正

★解决在vs2010下编译不正确的问题

★fix 在 linux wine下窗口移动困难的问题

0602: ★增加GUI

★修正部分png读取错误

★调整getkey函数,增加配对的kbmsg函数 ★增加getmouse函数 ★增加setcaption函数 ★版本更新为 Beta

0520:

★调整头文件,以使兼容性更好,减少链接出错 ★GetFPS函数去掉参数 ★版本更新为 Release

0416:

★增加png图片格式的读写函数(读取仍然用getimage,保存用savepng) ★增加压缩解压函数(ege_compress/ege_uncompress/ege_uncompress_size) ★版本更新为 Beta

0414:

★修正拖动时,窗口可能会漂移的问题 ★重绘效率优化

★增加 INIT_LOCKWINDOW

★批量绘图函数改名为窗口锁定函数

(WindowLock/WindowUpdate/WindowUnlock),原函数仍然能使用

★IMAGE 类增加 getdc 接口以便GDI操作(仅可用于Blt操作其它操作慎用) ★VC6库改用/MT编译以便多线程编程 ★版本更新为 Release

0401:

★增加drawlines和drawbezier函数,优化drawpoly的效率 ★增加对设置为屏幕保护程序的支持 ★增加安装程序

★增加WM_MOUSEWHEEL宏定义以防在VC6上编译出错 ★文档更新

★版本更新为 Release

0321:

★更名为EGE,取代原EGE(Easy Graphics Engine)库

★增加旋转缩放贴图函数(接口还可能变化,暂不推荐使用) ★增加窗口尺寸自动修正(在分辨率变小强制窗口尺寸变小了,再变回大分辨率的时候)

★版本更新为 Release

0129:

★修正头文件一个类型错误的问题

★增加saveimage函数,用来保存图片(目前只支持bmp) ★版本号更新为 Release

2010年以前的更新记录:

1213:

★增加对基本音频播放的支持(wav, mp3, midi) ★版本号更新为 Release

1212:

★更新文档

★增加独立下载库和帮助文档 ★版本号更新为 Release

1207:

★修正图形更新同步时可能偶然发生无法更新的情况 ★增加setbkcolor_f函数,功能是仅设置背景颜色,

仅当调用cleardevice时才使用这个颜色一次性清除屏幕 ★提升了重绘性能,并修正一个资源泄露的问题 ★增加swappage函数,实现双缓冲模式

ege图形库基本说明

本库是一个类似的BGI图形库,使用方法相当接近,所以学习过TC图形的话会很容易上手基本使用方法几乎和TC的一样,只要#include\就可以了本图形库目前支持VC6,VC2008,VC2010等IDE,同时也支持MinGW编译器和使用MinGW编译器的IDE(如Code::Blocks,C-Free,Dev-CPP,eclipsefor
推荐度:
点击下载文档文档为doc格式
1c9u08vnfj507xn0uyq64mg6283nbb00px6
领取福利

微信扫码领取福利

微信扫码分享