【Easyx库基础用法教程】
来源:http://www.tudoupe.com时间:2022-02-10
Easyx图像库
- @[TOC](Easyx图像库)
- 1.1简单介绍
- 1.2Easyx原理
- 2.Easyx基础知识
- 2.1Easyx颜色
- 2.2Easyx坐标和设备
- 3.Easyx图形编程----窗口函数
- 3.1 initgraph()创建窗口函数
- 3.2 closegraph()关闭绘图窗口函数
- 3.3 cleardevice()清空绘图设备函数
- 图形绘制函数--画圆为例(部分)
- circle()--无填充
- fillcircle()--有边框填充
- solidcircle--无边框填充
- 4.背景颜色函数
- 4.1setbkcolor()--背景颜色设置函数
- 4.2cleardevice()--清屏函数
- 5.窗口文字绘制函数
- 5.1 outtextxy()指定位置输出字符串函数
- 5.2 settextcolor()设置当前文字颜色函数
- 5.3 settextstyle()设置字体样式函数
- textheight()获取字符串实际占用的像素高度(调整字符串)
- textwidth获取字符串实际占用的像素宽度(调整字符串)
- 6.窗口图像处理函数
- 6.1使用图像函数须知
- 6.2 loadimage()--从文件中读取图像函数
- 6.3 putimage()--当前设备上绘制图像函数
- 7.获取鼠标信息函数
- 7.1使用鼠标信息函数须知
- 7.2 peekmessege()--检查是否有鼠标消息函数
- 8.非Easyx函数--键盘消息函数
- 8.1使用键盘消息函数须知
- 8.2 getch()--获取键盘消息函数(第一种)
- 8.3 GetAsyncKeyState()--获取键盘消息函数(第二种)
- 9.Easyx函数--窗口名与消息框函数(联合使用)
- 9.1 消息框
- 9.2 消息框函数
- 给窗口添加背景音乐
Easyx图像库
- @[TOC](Easyx图像库)
- 1.1简单介绍
- 1.2Easyx原理
- 2.Easyx基础知识
- 2.1Easyx颜色
- 2.2Easyx坐标和设备
- 3.Easyx图形编程----窗口函数
- 3.1 initgraph()创建窗口函数
- 3.2 closegraph()关闭绘图窗口函数
- 3.3 cleardevice()清空绘图设备函数
- 图形绘制函数--画圆为例(部分)
- circle()--无填充
- fillcircle()--有边框填充
- solidcircle--无边框填充
- 4.背景颜色函数
- 4.1setbkcolor()--背景颜色设置函数
- 4.2cleardevice()--清屏函数
- 5.窗口文字绘制函数
- 5.1 outtextxy()指定位置输出字符串函数
- 5.2 settextcolor()设置当前文字颜色函数
- 5.3 settextstyle()设置字体样式函数
- textheight()获取字符串实际占用的像素高度(调整字符串)
- textwidth获取字符串实际占用的像素宽度(调整字符串)
- 6.窗口图像处理函数
- 6.1使用图像函数须知
- 6.2 loadimage()--从文件中读取图像函数
- 6.3 putimage()--当前设备上绘制图像函数
- 7.获取鼠标信息函数
- 7.1使用鼠标信息函数须知
- 7.2 peekmessege()--检查是否有鼠标消息函数
- 8.非Easyx函数--键盘消息函数
- 8.1使用键盘消息函数须知
- 8.2 getch()--获取键盘消息函数(第一种)
- 8.3 GetAsyncKeyState()--获取键盘消息函数(第二种)
- 9.Easyx函数--窗口名与消息框函数(联合使用)
- 9.1 消息框
- 9.2 消息框函数
- 给窗口添加背景音乐
前言:
许多人学习编程都是从c语言入门的,但目前现状是:
- 学校只交基础语法,一直都是在枯燥的黑色控制台上进行练习,十分无聊,大大减弱了我们的学习热情
- 即使有的学校交图形编程,也是使用一些难度较高的,比如Win32,OpenGL门槛就很高,初学者很容易受打击
- 而且我们也难在程序中加入有趣的图像或者图行,做出的c语言小游戏也只局限于文本风格
- 那有没有即容易上手,学习门槛又不高的呢,于是就有了Easyx库,ok,冲冲冲;
1.Easyx库
1.1简单介绍
首先Easyx是针对C++的图形库,可以帮组C/C++初学者快速上手图形和游戏编程,比如可以基于Easyx图形库画一个房子,或者一辆移动 的小车,可以编程俄罗斯方块,贪吃蛇,和白棋等小游戏。详情见文档链接 Easyx帮助文档
1.2Easyx原理
基于Windows图形编程,将Windows下的复杂程序过程进行封装,将windows下的编程过程隐藏,给用户提供一个简单熟悉的接口(函数),用户对于图像库中函数的调用,最终都会由Windows的底层API(函数)实现。
2.Easyx基础知识
2.1Easyx颜色
- 相信大家都知道,光的三原色是红,绿,蓝。咋们表示颜色就用三原色来表示
- 用RGB宏合成颜色,实际上合成出的颜色是一个十六进制的整数。RGB(红色部分,绿色部分,蓝色部分);每个颜色部分值为0~255
2.2Easyx坐标和设备
- 坐标默认的原点在窗口的左上角,X向右为正,Y向下为正,度量单位是像素点。
- 设备:就是绘图表面,在Easyx中,设备分两种,一种是默认的绘图窗口,另一种是IMAGE对象。通过SetWorkingmage()函数可以设置当前用于绘图的设备。设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上(后面再理解)
3.Easyx图形编程----窗口函数
3.1 initgraph()创建窗口函数

需要注意的是此时的窗口没有滚动条,也就是说该窗口不是控制台,而是由窗口创建函数创建的一个绘制窗口( •̀ ω •́ )✧
3.2 closegraph()关闭绘图窗口函数
3.3 cleardevice()清空绘图设备函数
图形绘制函数–画圆为例(部分)
circle()–无填充

fillcircle()–有边框填充

solidcircle–无边框填充
与上一个函数用法一致,但圆无边框填充

4.背景颜色函数
4.1setbkcolor()–背景颜色设置函数

4.2cleardevice()–清屏函数
5.窗口文字绘制函数
5.1 outtextxy()指定位置输出字符串函数

注意?:为什么要在字符串前面加一个L呢?,其实是由于字符集导致的,解决方案就是在字符串前面加上L,或者在项目->属性->常规->字符集改为多字符集即可。
还有一个问题就是有的小伙伴认为既然是输出字符串那为什么不直接scanf函数打印呢,原因其实是有的同学在这里把控制台和这里的项目窗口搞混淆了,scanf函数的字符串输出只能打印在控制台窗口上,而项目窗口是不能直接用scanf函数读入,并用printf函数打印的??
5.2 settextcolor()设置当前文字颜色函数
注意?:一定是先设置文字颜色在输出文字
5.3 settextstyle()设置字体样式函数
注意?:区分这里的文字背景透明的setbkmode函数与上方讲窗口背景颜色设置中的cleardevice函数的区别
textheight()获取字符串实际占用的像素高度(调整字符串)
textwidth获取字符串实际占用的像素宽度(调整字符串)
6.窗口图像处理函数
6.1使用图像函数须知
6.2 loadimage()–从文件中读取图像函数
// 从资源文件获取图像(bmp/gif/jpg/png/tif/emf/wmf/ico)
void loadimage(
IMAGE* pDstImg, // 保存图像的 IMAGE 对象指针
LPCTSTR pResType, // 资源类型
LPCTSTR pResName, // 资源名称
int nWidth = 0, // 图片的拉伸宽度
int nHeight = 0, // 图片的拉伸高度
bool bResize = false // 是否调整 IMAGE 的大小以适应图片
);
6.3 putimage()–当前设备上绘制图像函数
// 绘制图像(指定宽高和起始位置)
void putimage(
int dstX, // 绘制位置的 x 坐标
int dstY, // 绘制位置的 y 坐标
int dstWidth, // 绘制的宽度
int dstHeight, // 绘制的高度
IMAGE *pSrcImg, // 要绘制的 IMAGE 对象指针
int srcX, // 绘制内容在 IMAGE 对象中的左上角 x 坐标
int srcY, // 绘制内容在 IMAGE 对象中的左上角 y 坐标
DWORD dwRop = SRCCOPY // 三元光栅操作码
);
注意???:图片的存储位置一定要放在相应的项目文件夹中如图
7.获取鼠标信息函数
7.1使用鼠标信息函数须知
7.2 peekmessege()–检查是否有鼠标消息函数

- 注意???:这里只举了鼠标左键的操作,希望大家照猫画虎,也可以独自完成右键等其他激活
8.非Easyx函数–键盘消息函数
8.1使用键盘消息函数须知
8.2 getch()–获取键盘消息函数(第一种)
这里由于不能发本地视频,所以大家可以拷贝代码在vs上试一试,查看效果?????
如果你尝试之后就可以发现,这种方式只能让图形直线移动,并不能像游戏角色可以斜着移动,那我们紧接着学习下一个函数
8.3 GetAsyncKeyState()–获取键盘消息函数(第二种)
这里由于不能发本地视频,所以大家可以拷贝代码在vs上试一试,查看效果?????
如果你尝试之后就可以发现,这种方式不仅能让图形直线移动,还可以像游戏角色可以斜着移动,????????
9.Easyx函数–窗口名与消息框函数(联合使用)
9.1 消息框
9.2 消息框函数

给窗口添加背景音乐
由于我的知识学习有限,其实跟前面的窗口图像设置有很多相似之处,在播放音乐环节这里就不解释了,如果大家感兴趣的话,就在这里查询
????好啦恭喜你已经掌握了Easyx库的基本使用,快拿去让你的代码动起来吧?
上一篇:设计师的“福利”办公软件分享来了
下一篇:没有了
相关新闻
- 2022-02-10 设计师的“福利”办公软件分享来
- 2022-02-10 qt在windows下打包全解
- 2022-02-09 windows10系统超全面优化攻略
- 2022-02-09 虚拟机测试Windows Server 2016原地升级
- 2022-02-09 【Pygame实战】曾经风靡全国的游戏
- 2022-02-08 Windows 11操作系统带来了哪些改变?
- 2022-02-08 Msfvenom使用指南
- 2022-02-08 从零开始用 Windows 桌面程序制作方
- 2022-02-08 如何从Windows10 21H2、21H1和20H2卸载
- 2022-02-08 【北亚数据恢复】MongoDB数据迁移文
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
