找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7360|回复: 22
收起左侧

[原创文档分享]一步一步写带界面的程序(基于EasyX等库)C++语言

  [复制链接]
ID:166089 发表于 2019-6-17 09:39 | 显示全部楼层 |阅读模式
从C语言开始入门学编程的人都不会对黑乎乎的运行窗口觉得陌生,在学完大部分C语言基础知识后,想自己写一个色彩斑斓、花里胡哨的程序,却无从下手,只得看着黑乎乎的运行窗口沉思。
本文将介绍一种可以让程序色彩斑斓、花里胡哨的图形库——EasyX。EasyX 是针对 C++ 的图形库,可以帮助 C 语言初学者快速上手图形和游戏编程。比如,可以用 VC + EasyX 很快的用几何图形画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,可以练习图形学的各种算法等等。
全文共15章,前13章为编程和EasyX基础,第14章是以前13章为基础的完整游戏示例,第15章记录着本文档各版本修订记录。本文中的示例代码和截图皆是在windows 10、vs2010旗舰版、EasyX_20190415(beta)下进行,编码字符集为unicode。若是其他环境,运行过程有差异请自行百度或与他人交流。
建议读者第一次阅读时按章节顺序阅读,其他时候可根据自己需要到对应章节查看内容,点击目录即可跳转至对应章节部分,示例代码和资源文件存于【附件】文件夹内,阅读文档时点击相关文字的超链接即可直接打开对应的示例代码和资源文件(夹)。
本文仅仅介绍了EasyX中的冰山一角,更多操作,还需读者自行发掘,EasyX的帮助文档、官网、贴吧、CodeABC内含有大量的技术文章和示例代码,如有需要,可前往阅读学习。
由于本人水平有限,文中可能存在部分错误、叙述不清晰或不全面,欢迎读者通过邮箱(no1xijin@126.com)联系本人,获取最新版文档、附件资源,文档内容纠正,投稿,技术交流等。
本文是第二版,是在第一版(2019年5月3日)的基础上进行修改和新增形成的。主要变化内容有:
1.    新增第1.3节内容:unicode字符集函数与多字节字符集函数对照表
2.    新增第3章内容:绘制图形
3.    新增第6.3节内容:复杂响应功能按键的示例
4.    新增第8.5节内容:多张图片输出示例
5.    新增第12.3节内容:随机数函数
6.    新增第12.4节内容:时间函数
7.    新增第13章内容:将资源(图片、音频等)嵌入exe
8.    新增第14章内容:综合示例1(连连看)
9.    新增第15章内容:附录•版本修订记录
10.    新增文档示例代码等配套资源,点击文档适当位置的超链接即可打开对应的资源
11.    新增第7章播放、停止音频中各示例代码检查资源是否存在
12.    新增第8章输出图片(包括背景透明图片)中各示例代码检查资源是否存在、检查图片格式是否标准。
13.    新增第9章读写应用程序的配置信息文件ini中各示例代码检查资源是否存在
14.    修改部分示例代码中注释错误
15.    修改第12章标题为:画龙点睛
16.    调整文字、代码的内容和格式

1.png 2.jpg 3.jpg

完整的pdf格式文档51黑下载地址(共181页):
一步一步写带界面的程序(基于EasyX等库).pdf (6.71 MB, 下载次数: 140)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:603484 发表于 2019-8-25 07:35 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:285863 发表于 2019-8-25 13:35 | 显示全部楼层
楼主辛苦了 谢谢分享
回复

使用道具 举报

ID:282095 发表于 2019-8-25 14:48 | 显示全部楼层
不错不错 感谢分享
回复

使用道具 举报

ID:618221 发表于 2019-9-30 05:51 | 显示全部楼层
楼主辛苦了 谢谢分享
回复

使用道具 举报

ID:617327 发表于 2019-10-1 01:06 | 显示全部楼层
51黑有你更精彩
回复

使用道具 举报

ID:503733 发表于 2019-10-8 11:03 | 显示全部楼层
不错的帖子
回复

使用道具 举报

ID:688149 发表于 2020-1-25 19:47 | 显示全部楼层
超有用!!解决了我很多问题
回复

使用道具 举报

ID:704900 发表于 2020-3-9 00:01 | 显示全部楼层
感谢分享
回复

使用道具 举报

ID:253767 发表于 2020-4-29 06:48 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

ID:253767 发表于 2020-5-22 07:17 | 显示全部楼层
谢谢分享!!!
回复

使用道具 举报

ID:837547 发表于 2020-11-1 23:35 | 显示全部楼层
谢谢楼主慷慨分享,好人一生平安!
回复

使用道具 举报

ID:858947 发表于 2020-12-11 22:15 | 显示全部楼层
感谢分享。这是一个开源库,但对小白来说,目前入门仍有难度,这本书很急需,感谢作者的付出与无私!
回复

使用道具 举报

ID:166089 发表于 2020-12-14 19:48 | 显示全部楼层
auyach 发表于 2020-12-11 22:15
感谢分享。这是一个开源库,但对小白来说,目前入门仍有难度,这本书很急需,感谢作者的付出与无私!

这是第三版,新增了一些内容,可以参考一下。

http://www.51hei.com/bbs/dpj-192033-1.html
回复

使用道具 举报

ID:756378 发表于 2020-12-14 23:39 | 显示全部楼层
H5都能做简单3D游戏了 对这个没兴趣了。
回复

使用道具 举报

ID:883938 发表于 2021-2-11 01:24 | 显示全部楼层
楼主,我能问问你的EasyX教程里面的transparent函数吗?我有一张黑色背景的照片,想透明输出。可能是因为我没有弄懂参数的意思,所以我没有成功。我想知道失败原因,您空闲的时候方便解答一下么?
回复

使用道具 举报

ID:166089 发表于 2021-2-11 15:59 | 显示全部楼层
氦氩 发表于 2021-2-11 01:24
楼主,我能问问你的EasyX教程里面的transparent函数吗?我有一张黑色背景的照片,想透明输出。可能是因为我 ...

你好,transparent函数是网络上找的,具体原理我也不是很清楚。若想透明输出图片,首先图片本身需要是png格式的,其次图片中需要透明的部分需要处理掉,具体处理可以自行百度相关关键词(或者参考:https://zhidao.baidu.com/question/384183203.html)
回复

使用道具 举报

ID:883938 发表于 2021-2-18 19:28 | 显示全部楼层
no1xijin 发表于 2021-2-11 15:59
你好,transparent函数是网络上找的,具体原理我也不是很清楚。若想透明输出图片,首先图片本身需要是png ...

OK,谢谢
回复

使用道具 举报

ID:883938 发表于 2021-2-18 23:48 | 显示全部楼层
no1xijin 发表于 2021-2-11 15:59
你好,transparent函数是网络上找的,具体原理我也不是很清楚。若想透明输出图片,首先图片本身需要是png ...

楼主,那张照片是png格式的,是我在网上生成的彩字的图片,白底黑字。然后我用ppt把图片搞成了透明色,放在程序里是黑底黑字,有白色虚线边框,然后我用了您的文档里的transparentimage函数,居然透明输出了,我懵了。
回复

使用道具 举报

ID:166089 发表于 2021-2-19 14:00 | 显示全部楼层
氦氩 发表于 2021-2-18 23:48
楼主,那张照片是png格式的,是我在网上生成的彩字的图片,白底黑字。然后我用ppt把图片搞成了透明色,放 ...

一般在线生成的艺术字在生成时可以选择生成背景透明的图片的(注意生成图片选择png格式)。
你懵是指什么?还有哪里有问题么
回复

使用道具 举报

ID:883938 发表于 2021-2-19 22:35 | 显示全部楼层
no1xijin 发表于 2021-2-19 14:00
一般在线生成的艺术字在生成时可以选择生成背景透明的图片的(注意生成图片选择png格式)。
你懵是指什么 ...

我没有找到可以生成透明背景图片的网站,所以一直在找透明输出的方法。然而最开始白底黑字的图片用transparentimage没有成功。然后我百度的时候,发现有人说这个函数有bug——TransparentColor不能为COLORREF color=RGB(0,0,0);也就是说不能为黑色。但是我又看不懂这个函数,所以我放弃了用它。
后来我看到了XOR和掩码位图,但对菜鸡来说,这太难了。
还有就是用ps或者ppt;
还有putimage(x,y,&img1,SRCAND);
//白底黑字
putimage(x,y,&img2,SRCRAINT);
//黑底彩字
//先SRCAND模式贴一张白底黑字的图,再SRCRAINT模式贴一张黑底彩字图,然后白底和黑底部分(需要重合)会镂空,也就是透明。
所以easyX该怎样实现透明输出呢?
大佬,真的麻烦了,菜鸡已经懵了。而且我之前并没有用过VS,所以对这里面很多函数非常陌生。
回复

使用道具 举报

ID:166089 发表于 2021-2-20 01:25 | 显示全部楼层
氦氩 发表于 2021-2-19 22:35
我没有找到可以生成透明背景图片的网站,所以一直在找透明输出的方法。然而最开始白底黑字的图片用transp ...

这个网址可以生成背景透明的艺术字(背景颜色选择右上角带有红色对角线的方框):www点diyiziti点com (自行替换)

透明和RGB(0,0,0)是不同的,透明是指没有色彩,而RGB(0,0,0)是有色彩。
回复

使用道具 举报

ID:883938 发表于 2021-2-20 12:12 | 显示全部楼层
no1xijin 发表于 2021-2-20 01:25
这个网址可以生成背景透明的艺术字(背景颜色选择右上角带有红色对角线的方框):www点diyiziti点com (自 ...

找到了,感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表