分享

#C语言或C 中强大的图形库——easyx

 山峰云绕 2023-05-27 发布于贵州

https://blog.csdn.net/weixin_64603510/article/details/124199532?share_token=fe194ef2-9a73-4ac4-b27a-4d33057d0b55&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_android&utm_campaign=client_share?= 



1.了解easyx图形库

EasyX Graphics Library 是针对 Visual C++ 的免费绘图库,支持 VC6.0 ~ VC2022(以及VS2013~VS2022),简单易用,学习成本极低,应用领域广泛。目前已有许多大学将 EasyX 应用在教学当中。

使用范围:给程序窗口中添加图片、音乐、画一些常见的图形(如矩形,长方形,圆等)、设置一些字体样式等.......

下载easyx:EasyX Graphics Library for C++

https:///

2. 了解一些其中常用的功能

easyx的功能介绍和使用:

EasyX 文档 - 基本说明

https://docs./

a.设置窗体大小

  1. #include<stdio.h>
  2. #include<graphics.h> //easyx的头文件 或者使用#include<easyx.h>
  3. int main() {
  4. initgraph(1000, 800); //设置宽1000像素(px),高800px
  5. getchar();
  6. return 0;
  7. }
  8. //注意:源代码后缀名为.cpp
  9. easyx图形库只适用于c++,但我们写代码时可以使用c语言的语法。

 b.设置字体颜色、字体样式、背景颜色

  1. #include<stdio.h>
  2. #include<graphics.h>
  3. int main() {
  4. initgraph(1000, 800);
  5. setbkcolor(BLUE); //设置背景颜色为蓝色 括号中也可以使用三原色RGB(0,0,255)
  6. cleardevice(); //设置完背景颜色后记得清屏,否则啥也看不到,没效果
  7. settextcolor(RED); //设置字体颜色为红色
  8. settextstyle(50, 0, L'楷体'); //50代表字体的高度,0代表系统自适应大小,引号中为字体类型样式(为自己电脑中已有的字体样式)
  9. outtextxy(50, 50, L'欢迎来到easyx图形库的学习'); //在宽50,高50的位置上输出“欢迎来到easyx图形库的学习”
  10. getchar();
  11. return 0;
  12. }
  13. //注意:
  14. settextstyle(50, 0, L'楷体');
  15. outtextxy(50, 50, L'欢迎来到easyx图形库的学习');
  16. 这俩个函数中的“L”代表的是多字符集,软件中默认unicode字符集,不加“L”会报错。
  17. 不加“L”,也可以使用这种方法————— 调试——> 调试属性——> 高级 ——>字符集(unicode改为多字符集,应用并确定)

 c.贴图

  1. #include<stdio.h>
  2. //#include<graphics.h>
  3. #include<easyx.h>
  4. int main() {
  5. initgraph(1000, 800);
  6. setbkmode(0); //设置当前设备图案填充和文字输出时的背景模式(即去除文字上面的背景颜色)
  7. cleardevice();
  8. IMAGE img; //IMAGE类似于数数据类型int,
  9. loadimage(& img, L'1.jpg',1000,800); //加载图片,1000800分别表示加载的图片的宽度和高度
  10. putimage(0,0,&img); //输出图片
  11. setbkcolor(BLUE);
  12. settextcolor(RED);
  13. settextstyle(50, 0, L'楷体');
  14. outtextxy(50, 50, L'欢迎来到easyx图形库的学习');
  15. getchar();
  16. return 0;
  17. }
  18. //注意:记得将图片放置与源码(.cpp)同一级目录,图片名称与加载时的图片名称一致

注意:若程序运行时图片出现闪烁,可以加入双缓冲

在开始绘图前添加:BeginBatchDraw();

在结束绘图后添加: EndBatchDraw();

d.音乐的添加

  1. #include<stdio.h>
  2. //#include<graphics.h>
  3. #include<easyx.h>
  4. #include<mmsystem.h> //添加多媒体头文件
  5. #pragma comment(lib,'winmm.lib') //添加多媒体库
  6. int main() {
  7. initgraph(1000, 800);
  8. setbkmode(0);
  9. cleardevice();
  10. IMAGE img;
  11. loadimage(& img, L'1.jpg',1000,800);
  12. mciSendString(L'open 风儿吹.mp3', 0, 0, 0); //打开音乐,后面三个0与音乐的声音有关,使用默认30就好了
  13. mciSendString(L'play 风儿吹.mp3', 0, 0, 0); //播放音乐
  14. BeginBatchDraw();
  15. putimage(0,0,&img);
  16. EndBatchDraw();
  17. setbkcolor(BLUE);
  18. settextcolor(RED);
  19. settextstyle(50, 0, L'楷体');
  20. outtextxy(50, 50, L'欢迎来到easyx图形库的学习');
  21. getchar();
  22. return 0;
  23. }
  24. //注意:
  25. 播放音乐时记得添加多媒体头文件和库文件
  26. 也需将音乐放置与源代码(.cpp)同一级目录下
  27. 音乐名称中不要出翔空格,以免不能播放音乐

代码中使用的一些素材 

                                         1.jpg

 

                                        风儿吹.MP3   :无法上传,自己去下载吧(记得自己该音乐名称与代码中音乐名称一致)

 希望该文章可以对你有些帮助,你的关注与点赞就是对我最大的支持。

 文章中的一些不足,还恳请大家指出,以便我日后改进。

 ##@追梦之

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多