前言
Rock老师 ; C++ ; EasyX ; 笔记
一、为什么使用EasyX
1.辅助学习和提高C++的工具
2.开发简单的图形界面应用程序
二、搭建EasyX图形开发环境
1.安装VS2010或VS其他版本
2.下载EasyX安装包(带安装教程与Help)
链接:https://pan.baidu.com/s/1M0xGF9HTabAqMZedFP87iA?pwd=8bnj
提取码:8bnj
三、测试EasyX图形开发环境
1.绘制圆
注意:EasyX Y轴向下(与笛卡尔坐标系相反),X轴向右(不变)
# include<graphics.h>
# include<windows.h>
int main(void)
{
//初始化图像界面(窗口大小 640*480) initgraph(X轴,Y轴);
//EasyX Y轴向下(与笛卡尔坐标系相反),X轴向右(不变)
initgraph(640,480);
//构建需要的图形-画一个圆(测试)
//画圆-circle(圆心(X轴,Y轴),半径 )
circle(320,240,200);
system("pause");
//关闭图形界面
closegraph();
return 0;
}
图形效果如下:
2.用ChatGpt测试EasyX的Y轴朝向
注意:以下代码是要求绘制一个爱心后,再旋转180度得到
# include <graphics.h>
# include <math.h>
# include <conio.h>
int main(void)
{
initgraph(640, 480); // 初始化绘图窗口
// 爱心
for (double y = 1.5; y > -1.5; y -= 0.1)
{
for (double x = 1.5; x > -1.5; x -= 0.05)
{
double a = x * x + y * y - 1;
if (a * a * a - x * x * y * y * y <= 0.0)
{
putpixel(-x * 100 + 320, -y * 100 + 240, MAGENTA); // 在窗口中绘制品红色像素点
}
}
}
getch(); // 等待用户按键
closegraph(); // 关闭绘图窗口
return 0;
}
图形效果如下:
三、图形开发进阶
可参考 easyx 图形库的文档手册, 学习各个接口的用法
# include<graphics.h>
# include<Windows.h>
int main(void)
{
//确认画布大小
initgraph(640,480);
//设置背景颜色
setbkcolor(RGB(64,128,128));
//颜色填充
cleardevice();
//设置画笔颜色;RED为深红(查阅文档)
setlinecolor(RGB(255,0,0));
//设置画笔样式 setlinestyle(实线/虚线,宽度);
setlinestyle(PS_SOLID,10);
//画圆
circle(320,240,200);
//设置字体颜色
settextcolor(RGB(255,255,0));
//设置字体 settextstyle(高度,宽度,"字体");
//字体宽度为0表示默认宽度
settextstyle(100,0,"微软雅黑");
//以左上角为基点;确定位置打印文本 outtextxy(X,Y,"文本内容");
outtextxy(170,190,"无码高清");
//画线(180,380) -> (460,100)
line(180,380,460,100);
system("pause");
closegraph();
return 0;
}
图形效果如下:
四、黑客攻击系统界面
1.下载bg.JPG
链接:https://pan.baidu.com/s/1KsPi57-wf6tNn86jGmC3Rw?pwd=c0hl
提取码:c0hl
2.将JPG文件放入.cpp文件所在目录
# include<graphics.h>
# include<Windows.h>
int main(void)
{
//画布大小与图片大小相同 600*340
initgraph(600,340);
//加载图片
loadimage(0,"bg.jpg");
//设置文本字体
settextstyle(30,0,"微软雅黑");
settextcolor(RGB(255,255,0));
//画一个空心矩形,左上角坐标(300,40),右下角坐标(500,80)
rectangle(300,40,500,80);
//矩形内打印文本
outtextxy(310,45,"1-网站404攻击");
rectangle(300,100,500,140);
//矩形内打印文本
outtextxy(310,105,"2-网站篡改攻击");
rectangle(300,160,500,200);
//矩形内打印文本
outtextxy(310,165,"3-网站攻击修复");
rectangle(300,220,500,260);
//矩形内打印文本
outtextxy(310,225,"4-查看攻击记录");
rectangle(300,280,500,320);
//矩形内打印文本
outtextxy(310,285,"5-退出");
system("pause");
return 0;
}
图形效果如下:
总结
1.原有项目已经编译,可将.sln文件拖入VS2010启动
2.导入现有解决方案:
新建空项目->右击解决方案->添加现有项目->.vcxproj文件
3.不同目录下(解决方案不同)可重名
4.头文件提示,TAP键可直接输入
5.VS自动补全:Ctrl + J
6.多个项目,将要调试的项目,设为启动项目
7.对于ChatGpt而言,只看Y轴方向,倒立的爱心才是我们平常所认为的爱心
8.画图工具,查看坐标的像素值(最好甲方给出)
9.画图工具,查看颜色:颜色选取器->编辑颜色(红,绿,蓝)
10.字体宽度为0表示默认宽度
报错:
1.error C2660: “SetTextColor”: 函数不接受 1 个参数
修正:SetTextColor -> settextcolor