EGE基本说明
本库是一个类似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.件,复制到你的编译器安装目录下的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;
}
呵呵,很简单吧。
●详细安装和使用方法,请看本文档的安装部分。
如果遇到问题,请直接在“ege娘”贴吧发主题帖子吧。
官方联系邮箱:misakamm[at]gmail[dot]com
EGE安装
点这里查看视频教程帖子,以下是文件说明:
●简要安装说明
首先把压缩包里include目录下所有文件,复制到你的编译器安装目录下的include目录内,不管是哪个编译器
比如,vc2008的include路径类似“Microsoft Visual Studio 9.0\VC\include”,
而lib路径类似“Microsoft Visual Studio 9.0\VC\lib”,vc2010和2008一样。
vc6的话,是“Microsoft Visual Studio\VC98\Include”和“Microsoft Visual Studio\VC98\Lib”
然后再把lib目录下对应编译器名目录下的文件,复制到你的编译器安装目录下的lib目录内。比如你的是vc6,那就把\lib\vc6\下的复制过去。
如果你还是不明白复制到哪里,那请看这个表达:
copy "include\*.*" to "Microsoft Visual Studio 9.0\VC\include\"
copy "lib\*.*" to "Microsoft Visual Studio 9.0\VC\lib\"
前面的"include\*.*"是安装包里的文件
复制了这些文件后,就已经安装完成了。
然后,如果是VC或者VS,那么要建立一个工程
以下是VC6的操作步骤(但VS2008/VS2010/VS2012也类似),请按以下步骤做:
打开VC6后,新建一个Win32 Console工程(菜单->文件->新建),如下图:
右上角的工程名字写你喜欢的名字,其下方选择你要建立的工程的目录
点确定后,在弹出的对话框里选择“一个空工程”,然后直接点完成。
然后再次新建,不过这次新建一个C++ Source File,见下图:
右边文件名写你喜欢建立的名字,然后点确定,就可以开始编写代码了。
最后,请编写如下测试代码检测你的设置是否正确:
#include <graphics.h>
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++ yourfile.cpp -lgraphics -lgdi32 -limm32 -lmsimg32 -lole32 -loleaut32 -lwinmm -luuid -mwindows
其中yourfile.cpp是你要编译的cpp文件
如果你使用的是IDE,那就要看那个IDE是如何设置的,这里无法一一列举,
主要需要设置两样东西:
一是建立Win32 Application工程(目的是让它以-mwindows来编译,这个选项很重要)
二是要添加链接库
需要加入graphics, gdi32, imm32, msimg32, ole32, oleaut32, winmm, uuid共8个
例如在Code::Blocks下(需要建立project),在菜单 - Project - build options,设置Linker选项,如图:
例如在C-Free5.0下,则可以在 菜单->构建->构建选项 里,设置连接选项,如图:
但是,如果你是以建立工程的方式建立,而不是建立单文件的话
或者你发现上面的设置无效,那你需要在菜单 - 工程 - 设置,在这设置连接选项
此外,C-Free比较特殊的一点是,如果需要编译为Win32应用程序,那么要用WinMain来声明你的主函数,如:
#include <graphics.h>
int WinMain() // 这里在graphics.h里已经定义了宏自动把它展开成合法的声明,以减免声明的麻烦,同时用来欺骗C-Free
画画教程视频
{
    initgraph(640, 480);
    getch();
    closegraph();
    return 0;
}
又或者,如果你不喜欢这样,那就在链接选项里(即刚刚截图里的参数框里)手工加上-mwindows也可
使用预览
  使用上,基本和 Turbo C 没太大区别。启动 Visual C++6.0,
创建一个控制台项目(Win32 Console Application),选择空项目,
然后新建"C++ Source File"项,
然后在那个cpp里写代码就行了。
看一个画圆的例子吧:
#include "graphics.h"      // 就是需要引用这个图形库
int main()
{
    initgraph(640, 480);  // 初始化为640*480大小的窗口,这里和TC 略有区别
    circle(200, 200, 100); // 画圆,圆心(200, 200),半径100

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。