关于EasyX和graphics.h的那些事(上)

   日期:2020-07-17     浏览:129    评论:0    
核心提示:关于EasyX和graphics.h的那些事(上)做为一个100分的C++程序菜鸟,如何入手C++是一个难题。因此,我们会选择从控制台做小游戏开始上手,但是我实在是受够了控制台的画风!!比如说是这个样子的:伴随着一阵阵令人作呕的闪屏,和奇丑无比的画风,这就是控制台吗?!然而… …你真的认为控制台的全貌的话少年你错了!其实,控制台可以是这样的:PS:这是我自己做的扫雷,可能有点丑,但是EasyX本身是很棒的!???? 是不是好多了呢?你要问我是怎么做到的呢?今天的主角上场了!他就是:

关于EasyX和graphics.h的那些事(上)

做为一个100分的C++程序菜鸟,如何入手C++是一个难题。因此,我们会选择从控制台做小游戏开始上手,但是我实在是受够了控制台的画风!!
比如说是这个样子的:

伴随着一阵阵令人作呕的闪屏,和奇丑无比的画风,这就是控制台吗?!
然而… …你真的认为控制台的全貌的话
少年你错了!
其实,控制台可以是这样的:
PS:这是我自己做的扫雷,可能有点丑,但是EasyX本身是很棒的!

是不是好多了呢?
你要问我是怎么做到的呢?今天的主角上场了!
他就是:

EasyX!
EasyX以本身方便的安装和使用而著称(这很符合它的名字),它是针对 C/C++ 的图形库,可以帮助使用C/C++语言的程序员快速上手图形和游戏编程。
是不是很有用呢?

安装EasyX

要想使用EasyX就必须先安装它吧?(废话)
先确认一下自己的IDE是不是Viusal Studio,如果不是,安装方法则请自行百度。

PS:如果会安装或已经安装的网友可以跳过此节。

首先找到EasyX的官网:https://easyx.cn/
如果网站正确的话应该是这个样子的:

然后点击下载,就是图片中标红的部分(什么!?你说你没有看见,那还是洗洗睡吧),接着耐心等待安装完成。接着打开下载好的安装程序,如下图:
我们点击下一步:
然后选择自己所对应的版本,最上面的EasyX文档不必安装(当然你也可以选择安装,不过这只是一个帮助文件)。

最后,当弹出的提示框提示安装成功就可以啦!

第一个程序

既然EasyX已经安装好了,那我们就来编写第一个程序吧!
新建一个空项目,名字随意,添加main.cpp。

//main.cpp
#include <graphics.h> // 需要引用这个图形库
#include <conio.h>
int main()
{
circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100
getch(); // 按任意键继续
return 0;
}

如果操作正确的话,结果应该是这样的:

唉?你说运行不起来,对了,忘记加一条语句了,应该是这样的:

//main.cpp
#include <graphics.h> // 需要引用这个图形库
#include <conio.h>
int main()
{
initgraph(640, 480);//这两个参数随意,但最好不要小于想要显示的图像大小,否则就不能完全显示图像
circle(200, 200, 100); // 画圆,圆心(200, 200),半径 100
getch(); // 按任意键继续
return 0;
}

这下好了,可以运行了!那么,initgraph()到底是干什么的呢?

initgraph()函数

initgraph函数是用于初始化图形系统的一个函数,initgraph函数就是使计算机屏幕从文本模式转化为图像模式。因此想要使用EasyX输出图像,就必须要调用initgraph函数。
来看看百度是怎么说的:

函数名: initgraph()
功 能: 初始化图形系统
函数原型: void far initgraph(int far *graphdriver, int far *graphmode,
char far *pathtodriver);graphdriver是上涨指向图形驱动序号变量的指针;graphmode是在graphdriver选定后,指向图形显示模式序号变量的指针。pathtodriver表示存放图形驱动文件的路径。
头文件:graphics.h
图形模式的初始化
不同的显示器适配器有不同的图形分辨率。即是同一显示器适配器, 在不同
模式下也有不同分辨率。因此, 在屏幕作图之前, 必须根据显示器适配器种类将
显示器设置成为某种图形模式, 在未设置图形模式之前,微机系统默认屏幕为文
本模式(80列, 25行字符模式), 此时所有图形函数均不能工作。设置屏幕为图形
模式, 可用下列图形初始化函数:
void far initgraph(int far *gdriver, int far *gmode, char *path);
其中gdriver和gmode分别表示图形驱动器和模式, path是指图形驱动程序所
在的目录路径。有关图形驱动器、图形模式的符号常数及对应的分辨率见表2。
图形驱动程序由Turbo C出版商提供,文件扩展名为.BGI。根据不同的图形
适配器有不同的图形驱动程序。例如对于EGA、 VGA 图形适配器就调用驱动程序
EGAVGA.BGI。

这下明白了。

其他的函数

当然,EasyX不仅仅能画圆,它还可以画其他的一些图像(要是只能画圆,那还有什么用!)

函数名称 函数原型 用途
putpixel() void putpixel(int x, int y, COLORREF color); 画像素点
getpixel() COLORREF getpixel(int x, int y); 获取像素点的颜色
line() void line(int x1, int y1, int x2, int y2); 画线
lineto() void lineto(int x, int y); 画线(至绝对坐标)
linerel() void linerel(int dx, int dy); 画线(至相对坐标)
rectangle() void rectangle(int left, int top, int right, int bottom); 画矩形
fillrectangle() void fillrectangle(int left, int top, int right, int bottom); 画填充矩形(有边框)
solidrectangle() void solidrectangle(int left, int top, int right, int bottom); 画填充矩形(无边框)
bar() void bar(int left, int top, int right, int bottom); 画无边框填充矩形
bar3d() void bar3d(int left, int top, int right, int bottom, int depth, bool topflag); 画有边框三维填充矩形
drawpoly() void drawpoly(int numpoints, const int *polypoints); 画多边形
fillpoly() void fillpoly(int numpoints, const int *polypoints); 画填充的多边形
circle() void circle(int x, int y, int radius); 画圆
fillcircle() void fillcircle(int x, int y, int radius); 画填充圆(有边框)
solidcircle() void solidcircle(int x, int y, int radius); 画填充圆(无边框)
arc() void arc(int left, int top, int right, int bottom, double stangle, double endangle); 画圆弧

其实这只是其中的一部分函数,还有很多函数需要大家自己去发掘!
今天讲的太多了,剩下的放到下一节吧,现在,你可以向你的菜鸟朋友炫耀一下了

下集预告:在EasyX中显示图片以及动图

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服