文章目录
- 一、引入图形化界面
- 二、关于Easyx的基本函数操作
- 2.1颜色配比函数
- 2.2EasyX的坐标(有负数区分)
- 2.3窗口函数函数
- 三、关于Easyx的实际操作(代码实现)
- 3.1颜色操作的代码实现原理
- 3.2坐标操作的代码实现原理
- 关于矩形的坐标操作函数
- 关于圆的坐标操作函数
- 3.3文字操作的代码实现原理
- 3.4鼠标操作的代码实现原理
一、引入图形化界面
1.下载Easyx库
2.在下载完easyx库后引入头文件
#include<graphics.h>
二、关于Easyx的基本函数操作
2.1颜色配比函数
RGB(0,0,0):代表黑色,表示红绿蓝的配比
RGB(255,255,255):代表白色
也可以用BLACK、WHILE、RED等代表颜色
2.2EasyX的坐标(有负数区分)
x、y的坐标单位:像素
当画一个矩形的时候:由左上角的坐标和右下角的坐标决定
圆:中心坐标,半径
前提条件:在窗口中画坐标
2.3窗口函数函数
1)初始化窗口:initgraph(800,600) //长800,宽600
system(“pause”) ; //暂停窗口,请按任意键继续,也可用getchar
将窗口和控制台都展示出来:initgraph(800,600,SHOWCONSOLE);
SHOWCONSOLE:展示控制台
NOCLOSE:没有关闭功能 //initgraph(800,600,NOCLOSE)
2)关闭窗口:closegraph();
三、关于Easyx的实际操作(代码实现)
3.1颜色操作的代码实现原理
int main() {initgraph(800, 600,NOCLOSE);//初始化窗口setbkcolor(RED);//要想变为红色,先消除黑色,或者清屏cleardevice();//清屏for (int i = 0; i < 256; i++) {//使窗口展现出渐变色//设置背景颜色//setbkcolor(RED);setbkcolor(RGB(i, i, i));cleardevice();Sleep(50); //暂停毫秒(5ms);}system("pause");closegraph();
}
3.2坐标操作的代码实现原理
关于矩形的坐标操作函数
int main() {initgraph(800, 600, NOCLOSE);//初始化窗口rectangle(100,50,150,200);//在窗口里面画矩形setfillcolor(YELLOW);//填充矩形颜色为黄色fillrectangle(100, 50, 150, 200);//将黄色填满矩形,有边框填充system("pause");closegraph();
}
关于圆的坐标操作函数
int main() {initgraph(800, 600, NOCLOSE);//circle(0, 0, 50); // 无填充,显示1/4的圆//solidcircle(50, 50, 50); //无边框填充//圆圈填充色 黄色 圆圈边框颜色 红色setfillcolor(YELLOW); //圆圈填充色setlinecolor(RED); //圆圈边框setlinestyle(PS_SOLID,5);//设置边框的宽度为5像素,边框是实线fillcircle(50, 50, 50); //填充颜色为白色的圆,有边框填充system("pause");closegraph();
}
3.3文字操作的代码实现原理
int main() {initgraph(800, 600, NOCLOSE);setbkcolor(RED);cleardevice();//清屏,清除原先内容//文字设定settextcolor(RED);//设定文字颜色为红色,原先默认颜色为黑色//settextstyle(30, 20, "黑体");//报错 默认const char*,但其实是带有编码格式的 wchar_t 类型//修改方法,加大写“L”,或者在项目中打开—属性—高级—字符集—多字节字符集settextstyle(50, 50, "黑体");//文字宽度 文字高度 自适应大小//登录—矩形框—居中处理/*setbkcolor(WHITE);cleardevice();*/setlinecolor(BLACK);setlinestyle(PS_SOLID,3);fillrectangle(100, 100, 400, 200);RECT rect = { 100, 100, 400, 200 };//去除文字的背景色,透明背景 setbkmode(TRANSPARENT);drawtext("登录", &rect,DT_CENTER|DT_VCENTER|DT_SINGLELINE);system("pause");closegraph();
}
3.4鼠标操作的代码实现原理
//鼠标点击操作:点击登录
int main() {initgraph(800, 600, SHOWCONSOLE);//文字设定settextcolor(RED);//设定文字颜色为红色,默认颜色黑色//settextstyle(30, 20, "黑体");//报错 默认const char*,但其实是带有编码格式的 wchar_t 类型//修改方法,加大写“L”,或者在项目中—属性—高级—字符集—多字节字符集settextstyle(50, 50, "黑体");//文字宽度 文字高度 自适应大小//登录—矩形框—居中处理setbkcolor(WHITE);cleardevice();setlinecolor(BLACK);setlinestyle(PS_SOLID, 3);fillrectangle(100, 100, 400, 200);RECT rect = { 100, 100, 400, 200 };drawtext("登录", &rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE);//水平居中 垂直居中 单行显示/鼠标监听MOUSEMSG msg;while (1) {if (MouseHit()) { //监听是否有鼠标动作msg = GetMouseMsg(); //获取当前鼠标点击信息(umsg,x,y)if (msg.x >=100&&msg.x<=400&&msg.y>=100&&msg.y<=200 ) {switch (msg.uMsg){case WM_LBUTTONDOWN:printf("点击左键啦 x=%d,y=%d\n", msg.x, msg.y);break;case WM_RBUTTONDOWN:printf("点击右键啦 x=%d,y=%d\n", msg.x, msg.y);default:break;}}}}system("pause");closegraph();
}