Dev-C++ 使用EGE绘图库编程入门(修订版)
试验环境是DevCpp 5.11(下载地址Dev-C++ download | SourceForge.net) 和ege19.01_all (下载地址http://xege.org/download/ege19.01_all.7z)
EGE (Easy Graphics Engine) 是windows下的简易绘图库,简单,友好,容易上手,免费开源,而且因为接口意义直观。 目前,EGE图形库已经完美支持VC6, VC2008, VC2010, C-Free, DevCpp, Code::Blocks, CodeLite, Dev-C++, Eclipse for C/C++等IDE,即支持使用MinGW为编译环境的IDE。
首先需要安装好DevC++ 5.11
DevC++ 5.11安装过程很简单,按照提示默认安装就可以,在此不多说了。
Dev-C++5.11版本可使用EGE19.01_all
EGE的配置,这是最关键的环节,将下载的EGE19.01_all压缩文件解压,接着如下操作:
1、复制解压后include目录里面的内容(包括ege目录、ege.h文件、graphics.h文件)到DevC++的安装目录D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2\include中(下划线部分是安装路径,根据你的实际情况而定)
这里一定要注意,因为有很多include目录,不要搞错。
2、复制解压后lib \ mingw64 \ lib目录里面的libgraphics64.a文件到DevC++的安装目录D:\Program Files (x86)\Dev-Cpp\MinGW64\lib\gcc\x86_64-w64-mingw32\4.9.2中
3、上述两步做好后,, 打开DEV-C++软件, 打开菜单中文界面时选择 工具 → 编译选项(在英文界面时选择 Tools →Compiler options):
在链接器框(linker)中加入 -lgraphics64 -luuid -lmsimg32 -lgdi32 -limm32 -lole32 -loleaut32 -lwinmm -luuid
若其中已有内容,要键入一个英文空格分隔,再加入。
中文界面时参见下图:
【英语界面时参见下图:
顺便提示,Dev-C++ 中关闭和恢复控制台的设置方法,参见下图:
控制台(Console),也称为cmd窗口。-mwindows链接参数,能屏蔽(关闭)控制台,但这会造成无法利用控制台输入输出。若屏蔽了控制台,直接双击运行生成的exe文件时,将不显示控制台窗口。相关更多情况,可参见 https://blog.csdn.net/qq_39151563/article/details/118151902
】
测试EGE安装是否成功的代码
#include "graphics.h" // 就是需要引用这个图形库
int main() {
initgraph(640, 480); // 初始化,显示一个窗口
circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100
getch(); // 暂停一下等待用户按键
closegraph(); // 关闭图形界面
return 0;
}
编译运行若不报错,显示如下:
OK!
顺便提示:
使用ege绘制图形程序如何关闭ege启动画面?
在main()的开时部分,加入
setinitmode(0);
如:
int main() {
setinitmode(0); // 关闭ege启动画面
……
}
EGE中的demo文件夹中有一些示例,你可以参考学习。
EGE文档官网 EGE(Easy Graphics Engine) 帮助文档
下面分形叶子代码
#include<graphics.h>
#include<time.h>
int main() {
setinitmode(0); // 关闭ege启动画面
int i;
float x=0,y=0,r,u=0;
initgraph( 640,480 );
srand( time( 0 ) );
for ( i=0; i<=500000; i++ ) {
r=rand()%100;
if ( r < 1 ) {
x = 0;
y = .16 * y;
}
if ( r>=1 && r<86 ) {
u = .85 * x + .04 * y;
y = -.04*x + .85 * y + 1.6;
x = u;
}
if ( r>=86 && r<97 ) {
u = .2 * x - .26 * y;
y = .23 * x + .22 * y + 1.6;
x = u;
}
if ( r>=97 ) {
u = -.15 * x + .28 * y;
y = .26 * x + .24 * y +.44;
x = u;
}
putpixel( 45*x+230,480-45*y,RGB( rand()%256,rand()%256,rand()%256 ) );
}
getch();
closegraph();
return 0;
}
编译运行显示如下:
进一步学习可见:Window10 中Dev-C++ 使用EGE绘图库编程介绍与示例_软件开发技术爱好者的博客-CSDN博客_dev如何绘制图形