赞
踩
EasyX 是针对 C++ 的图形库,可以帮助 C/C++ 初学者快速上手图形和游戏编程。
比如,可以基于 EasyX 图形库很快的用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,可以练习图形学的各种算法,等等。
许多人学编程都是从 C 语言入门的,而现状是:
- 有些学校以 Turbo C 为环境学习 C 语言,只是 Turbo C 实在太老了,复制粘贴都很不方便。
- 有些学校直接拿 VC 来讲 C 语言,因为 VC 的编辑和调试环境都很优秀,并且 VC 有适合教学的免费版本。可惜在 VC 里面只能做一些文字性的练习题,想画条直线或一个圆都很难,例如需要注册窗口类、建消息循环等等,初学者会受严重打击的。初学编程想要绘图就得用 TC,很是无奈。
- 还有计算机图形学,这门课程的重点是绘图算法,而不是 Windows 编程。所以,许多老师不得不用 TC 教学,因为 Windows 绘图太复杂了,会偏离教学的重点。新的图形学的书有不少是用的 OpenGL,可是门槛依然很高。
所以,我们想给大家一个更好的学习平台,就是 VC 方便的开发平台和 TC 简单的绘图功能,于是就有了这个 EasyX 库。如果您刚开始学 C 语言,或者您是一位教 C 语言的老师,再或者您在教计算机图形学,那么这个库一定会让您兴奋的。
——EasyX官方文档
EasyX是一个免费绘图库,与OpenCV相比,它文件更精简,安装更方便,并且采用静态编译,不依赖任何dll,对初学者十分友好,个人觉得蛮好用的。
但是,
它是针对 Visual C++的!!!
这对于使用Dev-C++的人来说非常不友好,尤其是像我这样连VS code都装不好的新手,因此,经过我一下午的摸索,终于在Dev-C++上装好了EasyX,在这里把经验分享给大家。
本文以EasyX 2023大暑版为例,最新版本
EasyX 2023大暑版支持 TDM-GCC 4.8.1 及以上版本(32 位和 64 位均支持)。即支持 2013 年 9 月 28 日及之后发布的所有版本 TDM-GCC。
使用 TDM-GCC 4.8.1 及以上版本的集成开发环境都可以支持。例如:
同时额外支持:
MinGW-w64 的版本繁多,支持有限。例如对于 MinGW-w64 8.1.0 版本,easyx4mingw 支持 x86_64-posix-seh、x86_64-win32-seh、i686-posix-sjlj、i686-win32-sjlj,但不支持 x86_64-posix-sjlj、x86_64-win32-sjlj、i686-posix-dwarf、i686-win32-dwarf。
注:MinGW 版本较多,推荐使用 TDM-GCC。(想了解区别,可以参考MinGW、MinGW-w64 与TDM-GCC 应该如何选择?)
下载链接:EasyX2023大暑版
文件是一个压缩包,只有一百多KB,基本不用等
双击解压
可以看到有4个文件夹和一个文件,分别为
复制一下地址,等一下会用到,如我的是在桌面
1.选中
2.右击,打开文件位置
3.打开MinGW64->x86_64-w64-mingw32
4.打开include文件夹和easyx4mingw_2023大暑版(前面记得地址)->include文件夹
5.把easyx4mingw_2023大暑版->include文件夹里的两个头文件拷贝到MinGW64->x86_64-w64-mingw32 ->include文件夹里
6.按以上操作,继续拷贝另外两个文件夹里的文件(lib-for-devcpp_5.4.0文件夹不用管)
恭喜你,你已经基本安装完成了。
但是,
还有最后一步
打开Dev-C++,新建一个项目(就是这么麻烦),选择第二个,随便起个名字
示范程序(不要急着运行!!!):
- #include <graphics.h>
- #include <time.h>
- #include <conio.h>
-
- #define MAXSTAR 200 // 星星总数
-
- struct STAR
- {
- double x;
- int y;
- double step;
- int color;
- };
-
- STAR star[MAXSTAR];
-
- // 初始化星星
- void InitStar(int i)
- {
- star[i].x = 0;
- star[i].y = rand() % 480;
- star[i].step = (rand() % 5000) / 1000.0 + 1;
- star[i].color = (int)(star[i].step * 255 / 6.0 + 0.5); // 速度越快,颜色越亮
- star[i].color = RGB(star[i].color, star[i].color, star[i].color);
- }
-
- // 移动星星
- void MoveStar(int i)
- {
- // 擦掉原来的星星
- putpixel((int)star[i].x, star[i].y, 0);
-
- // 计算新位置
- star[i].x += star[i].step;
- if (star[i].x > 640) InitStar(i);
-
- // 画新星星
- putpixel((int)star[i].x, star[i].y, star[i].color);
- }
-
- // 主函数
- int main()
- {
- srand((unsigned)time(NULL)); // 随机种子
- initgraph(640, 480); // 创建绘图窗口
-
- // 初始化所有星星
- for(int i = 0; i < MAXSTAR; i++)
- {
- InitStar(i);
- star[i].x = rand() % 640;
- }
-
- // 绘制星空,按任意键退出
- while(!_kbhit())
- {
- for(int i = 0; i < MAXSTAR; i++)
- MoveStar(i);
- Sleep(20);
- }
-
- closegraph(); // 关闭绘图窗口
- return 0;
- }

然后点击项目属性(编译左边),选择参数,输入-leasyx,点击确定
大功告成!点击运行吧!
运行截图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。