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

3 篇文章 0 订阅
3 篇文章 0 订阅

关于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中显示图片以及动图

  • 20
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值