文章目录
easyx入门第一天
基本概念
需要包含库
#include <graphics.h>
颜色
表示颜色方法:宏定义、16进制数、RGB、 HSLtoRGB
其实就像是一个常量值,这个值表示特定颜色,可以传入函数作为参数。
如:
setlinecolor(0xff0000);//16进制数 setlinecolor(BLUE);//使用的是宏定义的颜色 setlinecolor(RGB(0, 0, 255));//RGB setlinecolor(HSLtoRGB(240, 1, 0.5));
坐标
分物理坐标和逻辑坐标,这个可以类比到绘画,物理坐标系更像是一个画板,逻辑坐标系像是可移动的画纸
物理坐标是:描述设备的坐标系,原点在显示框左上角,X 轴向右为正,Y 轴向下为正,度量单位是像素。坐标原点、坐标轴方向、缩放比例都不能改变。
逻辑坐标:用于绘图的坐标系,可以改变坐标原点、X、Y轴方向等,以控制达到目的的显示
几个修改坐标等信息的函数
| 函数形式 | 函数作用 | 函数参数 |
|---|---|---|
| void setorigin(int x, int y); | 设置逻辑坐标原点 | x,y为设置对应坐标 |
| void setaspectratio( float xasp,float yasp); | 通过控制传入参数(缩放因子)实现x、y轴方向的坐标变换(缩放和轴反向) | xasp*实际宽度=改变后的宽度,如果xasp是负值则该轴反向 |
设备
设备是指绘图表面,在 EasyX 中,设备分两种,一种是默认的绘图窗口,另一种是 IMAGE 对象。通过 SetWorkingImage 函数可以设置当前用于绘图的设备。设置当前用于绘图的设备后,所有的绘图函数都会绘制在该设备上。

窗口基本创建

背景颜色设置及显示
利用setbkcolor(颜色)结合 void cleardevice()才能显示

initgraph第三个参数
此参数控制控制台界面显示和图形化界面的样式

图形绘制函数

图形颜色、样式设置

设置线条格式,第一个参数是线条格式(宏定义,到参考文档找),第二个参是线条粗,单位为像素点

文字输出


背景模式设置——防止显示覆盖
setbkmode()
这里的参数也可以是TRANSPARENT(透明),防止显示覆盖
文字居中计算

输出字符串报错
解决方案——三种


图像处理
在加载显示图片之前要先定义一个图片对象,用于存储我们对该图片对象的设置,之后再以该对象绘制图像


鼠标与键盘信息
最近有更新,所以是在easyx.h库里面(完善之后的一个库)
定义消息对象

读取消息函数
peekmessage
有返回值,成功返回1 ,失败返回0,可用作if判断

实例:

第一个参数是前面定义的消息对象,第二个参数是获取消息类型,可以按位‘|’运算
消息类型宏定义
注意下面是EM_不是EX_

getmessage

与前面函数很像,只不过没返回值
读取后处理,实现功能
前面用peekmessage函数传入消息类型的对象,这样这个对象的.message方法中存储消息的值,可以用如下图更具体的消息标记描述是鼠标左键还是右键或者鼠标移动等等消息。结构体内的数据可以拿来判断
消息标志
结构体
示例:
getmessage运用

peekmessage运用

音乐播放


实操
开头预处理命令加这些就够了,graphics加了另外两个就不用了,记得还要声明Winmm.lib

将音乐放在cpp同路径下
实际功能代码,很简短,没几行

**音乐无法播放原因:**这里一定要去查以下你音乐的格式是不是.mp3,有时候你看到后缀是这个也不一定是.mp3,最好打开手机文件管理助手查一下自己下载的.mp3的音乐,然后传给电脑,这样更靠谱,如果以上流程没问题一定是这一步的问题。
6235





