【Easyx库】(1)

什么是Easyx库

EasyX是针对V的免费绘图库,简单易用,学习成本低,应用广泛。
比如:可以基于Easy X图形库很快的用几何图形化出一个房子,或者一辆移动的小汽车,可以使用该库编写俄罗斯方块,贪吃蛇,五子棋等小游戏

Easyx库的使用:***#include<graphics.h>

颜色

大家在初中物理都学过一个知识点——光的原色是红 绿 蓝。
用RGB宏合成颜色,实际上合成出来的颜色是一个十六进制的整数。
RGB:每个颜色部分的值都是0~255
获取颜色合成的方法:qq自带的截图功能中,按c复制当前色号,
== RGB(R像素,G像素,B像素)<=>RED BLUE GREAN==

窗口函数

窗口绘制函数用于窗口的一些操作
创建窗口函数:initgraph(int width,int height,int flag=NULL)

width->指定窗口宽度
heigh->指定窗口高度
flag-> 窗口的样式,默认为NULL

关闭绘图窗口:closegraph();
清除图形屏幕:cleardevice();

接收窗口:(三种方法,通常放在倒数第二)
#include<conio.h>
1.getch();
2.getchar();
3.system(“pause”);//该方法较为常用

绘图函数

图形绘制函数用于窗口上绘制各种图形,绘制图形分为三类: 无填充,有边框填充,无边框。
例:圆:

1. circle();//无填充
2. fillcircle();//有边框填充
3. solidcircle();//无边框填充

从形状来分类,常用的可以分为八种:

图形函数
画圆circle()
画椭圆ellipse()
画扇型pie()
画多边形polygon()
画矩形rectangle()
画圆角矩形roundrect()
画线line()
画点putpixel()

设置填充颜色:setfillcolor();先调用函数设置颜色,然后进行circle()等函数

颜色

设置线条颜色函数:setlinecolor();
设置线条样式:setlinestyle(PS_SOL ID,5);//实线,宽度
设置背景颜色:setbkcolor(RED);
清屏操作:cleardevice();//将原来背景色清除后才会设置好新色,(先设置,再清屏)

文字绘制函数

outtextxy(int x,int y,LPCTSR str);在指定位置输出字符串(默认字体颜色是白色),应该先设置字体颜色,再使用当前函数
举例:outtextxy(40,40,“你好”)//此处报错的原因是因为字符集问题导致,解决方式:

  • 在字符串前面加上大写的L:outtextxy(40,40,L"你好")
  • outtextxy(40,40,TEXT(“你好”));
  • outtextsy(40,40,_T(“你好”))
  • 不需要添加修饰符,在项目->配置属性->高级->字符集->使用多字节字符

设置当前文字颜色:settextcolor(COLORREF color)
设置字体样式:settextstyple(int nheight,int nwidth,LPCTSTR ipszFace)
nheight->字体高度 nwidth->字体宽度 如果是0,比例自适应,”楷体“字体是有背景的,需要先设置背景模式,setbkmode(TRANSP ARENT透明先 settextstyle()->setbkmode()->outtextxy();
文字设定:

  • settextcolor(BLACK);//字体颜色
  • settextstyle(30,20,“楷体”);//字体样式
  • RECT re={rect[0],rect[1],rect[2],rect[3]};
    drawtext(“登录”&re,DT_CENTER|DT_VCENTETR|DT_SINGLELINE);//水平居中,垂直居中,单行显示

文字居中处理:
textheight(LPCTSTR str):获取字符串实际占用像素高度,textwidth(LPCTSTR str):获取字符串实际占用像素宽度;

 fillrectangle(左上角X像素,左上角Y像素,右上角X像素,右上角Y像素);
   settextcolor(RGB(189.23,200));设置文字颜色
   char arr[]="同学"
   int width=(右下角X像素-左上角X像素-textwidth(arr))/2;
   int height=(右Y-左Y-textheight(arr))/2;
   //求矩形框和字符关系来进行居中处理
   outtextxy(width+左X,height+左Y,“同学”);

图像鼠标键盘操作

鼠标消息使用需要MOUSEMSG类型,比如MOUSEMSG msg;
然后使用Mousehit() 判断是否有鼠标消息(左键,右键,中间,移动),如果有鼠标消息就可以进行接收鼠标消息 msg=GetMouseMsg();
鼠标消息主要成员:(结构体)
uMsg 当前鼠标消息;
x 当前鼠标x坐标
y 当前鼠标y坐标
uMsg可用来判断当前鼠标消息是什么消息,(WM_LBUT OND OWN鼠标左键,WM_RBUT OND OWN 鼠标右键),
举例:

initgraph(600,500,1);//--->可以模拟点击操作
while(1){
  if(MouseHit()){
    MOUSEMSG msg=GetMouseMsg();
    if(msg.x>200&&msg.x<500&&msg.y>100&&msg.y<200){
    //限制在矩形中
    printf("欢迎大家\n");
    }
  switch(msg.uMsg){
  case WM_LBUT OND OWN:左键按下,可以添加矩阵范围
        outtextxy(400,400."鼠标左键");break;
  case WM_RBUT OND OWN:右键按下
  		outtextxy(400,400,"鼠标右键");break;
    }
  }
}
systrm("pause");
closegraph();
return 0;

图像输出

图像处理函数用于窗口上显示图片,在使用之前,需要定义一个变量(对象),然后把图片加载进变量才能进行使用,在使用图像的时候使用easyx提供的类型:IMAGE,如:IMAGE img;
从磁盘上读取图像:lvoid(IMAGE *pDstlmg,LPCTCTR plmgFile,int nWidth=0,int nHeight=0,bool bResize=false);
pDstlmg->保存图像的IMAGE对象指针&img
plmgFile->图片文件名
nWIdth=0->图片拉伸宽度
nHeight=0->图片拉伸高度
bResize=false->是否调整IMAGE的大小以适应图片
在当前设备上绘制在指定图像:putimage(int dstX,int dstY,IMAGE *pSrcimg,dwRop=SRCCOPY);
dstX->绘制位置的x坐标
dstY->绘制位置的y坐标
pSrclmg->要绘制的IMAGE对象指针 &img
dwRop=SRCCOPY->三元光操作符
举例:

IMAGE img;//定义一个变量
loadimage(&img,"./图片名.后缀");//加载图片
putimage(0,0,&img);
//若想要调整大小:
loadimage(&img,"./图片名.后缀",50,50);//指定新大小

弹出对话框

获取窗口句柄:==GetHWnd(); ==获取之后可以用来操作窗口
获取窗口句柄:HWD hWnd=GetHWnd();
修改窗口标题:SetWindowText(hWnd,“love”);
设置对话框:MessageBox(hWnd,“消息体”,“标题”,MB_OKCANCEL);

音乐播放

头文件:Windows.h(若引入了graphics.h则无需包含),然后需要使用静态库,winm.lib
打开音乐:mciSendString(“open./ThatGirl.mp3 alias BGM”,NULL,0,NULL);
播放音乐:mciSendString(“play BGM”,NULL,0,NULL);

#include<conio.h>
#include<mmsystem.h>//包含多媒体设备接口函数
#pragma comment(lib,"winmm.lib")
void BGM(){
//打开音乐,播放音乐,alias 取别名repeat 重复播放
mciSendString("open./ThatGirl.mp3 alias BGM",0,00);
mciSendString("play BGM",0,0,0);
  if0{
  mciSendString("close BGM",0,0,0);
  }
}
  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

*闲鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值