C/C++图形化编程——EasyX使用教程
创作时间:
作者:
@小白创作中心
C/C++图形化编程——EasyX使用教程
引用
1
来源
1.
https://www.jindouyun.cn/document/industry/details/179664
本文是一篇关于EasyX图形化编程的教程文章,详细介绍了EasyX的各种功能和使用方法,包括创建图形化窗口、基本绘图函数、图像处理函数、鼠标消息函数、音乐播放等。文章结构清晰,内容丰富,适合C/C++初学者学习图形化编程。本文原文发布于2024年7月。
1. 创建图形化窗口
a. 包含头文件
有两种头文件可供选择:
graphics.h:包含已经淘汰的函数easy.h:只包含最新的函数
b. 几种窗口函数
- 打开窗口函数:
initgraph(int x, int y, int style)
x:窗口宽度(像素)y:窗口高度(像素)style:窗口样式(如DEFAULT、NOCLOSE等)
关闭窗口函数:
closegraph()清空绘图函数:
cleardevice()
c. 窗口坐标的知识
窗口坐标系如下图所示:
确定一个矩形框只需要给出左上角和右下角的坐标即可。
2. 基本绘图函数
a. 设置填充样式函数
绘图函数从填充样式分类可分为无填充、有边框填充、无边框三种。以画圆为例:
circle():无填充fillcircle():有边框填充solidcircle():无边框填充
b. 设置图形样式函数
按所画的图形形状分类,有以下常用几类图形函数:
circle():画圆elipse():画椭圆pie():画扇形polygon():画多边形rectangle:画矩形roundrect:画圆角矩形line:画线putpixel:画点
c. 设置颜色函数
- 设置填充颜色函数:
setfillcolor(颜色) - 设置线条颜色函数:
setlinecolor(颜色) - 设置线条样式函数:
setlinestyle(线型, 宽度) - 设置背景颜色函数:
setbkcolor(颜色)
d. 文字绘制函数
- 输出字符串函数:
outtextxy(int x, int y, LPCTSTR str) - 设置文字样式函数:
settextstyle(int font, int direction, int charsize) - 设置文字背景模式:
setbkmode(int mode) - 设置文字颜色函数:
settextcolor(COLORREF color) - 获取文本宽和高函数:
textheight(LPCTSTR str)和textwidth(LPCTSTR str)
3. 图像处理函数
在使用图像之前,需要定义一个对象,然后把图片加载进变量才能使用。使用EasyX提供的IMAGE类型。
- 图像加载函数:
loadimage(IMAGE *img, LPCTSTR filename, int width, int height, BOOL shared = FALSE) - 图像输出函数:
BOOL putimage(HDC hdcDest, int xDest, int yDest, constvoid *img, DWORD rop = SRCCOPY)
4. 鼠标消息函数
鼠标消息函数包含在easyx.h头文件中,常用的消息有:
WM_MOUSEMOVE:鼠标移动消息WM_LBUTTONDOWN:鼠标左键按下消息WM_LBUTTONUP:鼠标左键弹起消息WM_RBUTTONDOWN:鼠标右键按下消息WM_RBUTTONUP:鼠标右键弹起消息
5. 鼠标画线操作
通过定时器逻辑实现画图功能:
- 画图过程可拆解为两个步骤:鼠标点击+鼠标拖动→画线
- 停止画线的逻辑:即鼠标停止拖动(不松开),并且再拖动可以继续画
6. 音乐播放
使用mciSendString函数播放音乐,支持MP3格式。常用指令有:
open:打开pause:暂停resume:继续close:关闭play:播放
7. 阻塞式和非阻塞式
- 阻塞式(Blocking):程序会一直等待某个事件的发生,直到该事件发生后才会继续执行后续代码。
- 非阻塞式(Non-blocking):程序会定期地轮询或检查事件是否发生,如果发生了则立即处理,如果没有则继续执行后续代码。
相关函数:
kbhit():等待键盘输入GetMouseMsg():等待鼠标消息GetKey():等待键盘按键消息
热门推荐
《古兰经》里的阿拉伯语秘密:从象形文字到书法艺术
让阿拉伯语学习之旅充满乐趣
向太直播争议言论引风波,疑似暗讽张兰“不知廉耻”
《一路繁花》预热直播现“名场面”,向太张兰再起冲突
春运创新高,芽庄错峰度假正当时
中医肿瘤专家李忠教授详解术后饮食调理要点
从花鸟使到却扇礼:《国色芳华》里的唐朝文化密码
三位小魔仙守护海洋世界,巴啦啦魔法海萤堡开播五周年
巴啦啦小魔仙舞台剧:全息技术与真人演绎开创儿童剧新模式
巴啦啦小魔仙新作将至,十五年经典再续魔法传奇
西双版纳曼弄枫区:大佛寺、热带雨林与傣族文化完美融合
曼弄枫度假攻略:热带雨林中的傣族文化体验
国色芳华妆造引争议,剧组:系学术研究资料误用
长洲青丘:南海之中的神秘岛屿,占地五千里藏珍稀仙草
冬季饮水机不加热?速看这份排查指南!
小熊饮水机不加热?十大故障排查指南
智能饮水机不加热?这些故障检测和维护技巧帮你轻松应对
起床后立即洗澡有风险,低血糖低血压患者需谨慎
高铁动车大不同:速度票价有差距,铁轨站点更讲究
武广高铁6月15日起提速至350公里,衡阳至广州最快1小时37分
早起洗个热水澡,激活阳气提神醒脑
战略管理会计:企业价值网的秘密武器
彭剑锋教你企业生存法则:打造超能与混成全能组织
心理咨询教你设立个人边界
青铜峡:设施检修+智能调控,打造22℃温暖家园
731部队遗址发掘确认1549名受害者,出土毒气实验遗物
权威认证:如何高效获取监理工程师证书
《封神第二部》定档春节:费翔演绎更复杂殷寿
泉州秋游全攻略:从千年古刹到黄金海岸
春季挑韭菜,紫根还是白根?教你几招选购技巧