C语言 easyx图形库相关常用函数介绍(非常详细)

前言:easyx图形库是C++里面的一个图形库,其装有一些基本的绘图函数,可以通过这些绘图函数来创建一个窗口,从而绘制你想要的图像。这个非常适合初学者使用,能够帮助初学者快速上手图形库,同时我们还可以通过easyx图形库来制作有趣的图片,或者制作游戏。 

目录

C语言图形库函数easyx下载

1.创建窗口函数

2.设置窗口背景颜色

3.清屏函数

4.打印文字

5.画线段

6.画圆

 7.画矩形

8.设立填充颜色函数

9.画点

10.画弧

11.双缓冲(防止屏幕的跳动)

12.贴图(放出图片)

13.鼠标操作

14.获取一个点的颜色

15.关闭绘图窗口


这个是我个人通过easyx图形库制作的流星雨动态图

流星雨

首先下载easyx图形库到你的VS 编译器里

C语言图形库函数easyx下载

easyx下载
也可以复制EasyX Graphics Library for C++浏览器下载

头文件

#include<easyx.h>
//或者#include<graphics.h>

1.创建窗口函数

initgraph(900, 600,SHOWCONSOLE);//其中900表示长,600表示高
//其中的SHOWCONSOLE是展示控制台,可以用1来代替,即initgraph(900, 600,1);
//这个参数可以不用

2.设置窗口背景颜色

setbkcolor(RGB(66, 52, 200));//RGB(a,b,c)其中a是表示红色,b是表示绿色,c是表示蓝色
setbkcolor(GREEN);//我们也可以这样直接表示窗口背景为绿色

RGB三原色每个参数的取值范围是0~255.不同的参数混合起来会展现出不同的颜色。

RGB

3.清屏函数

cleardevice();//清除当前画图窗口

4.打印文字

settextstyle(x, y, "幼圆");//表示字体的风格
//x是表示单个字体的高度;y是表示字体的平均宽度,一般设为0为默认值
setbkmode(TRANSPARENT);//这个可以设置背景字体背景颜色为透明,字体本身是有背景颜色的
settextcolor(BLUE);
//settextcolor(RGB(40,50,100));

(表示设立字体的颜色,有以上的两种写法 )

outtextxy(X,Y , "我爱中国!");
//我们也可以这样子输出
char str[20]={"我爱中国!"};
outtextxy(50,50,str);

其中X表示字体所放的横坐标,Y表示纵坐标(原点是在窗口的左上角)

5.画线段

setlinecolor(GREEN);//表示设立线段的颜色
//同样可以这样写setlinecolor(RGB(50,40,150));

一般先设立好线段的颜色,再去画线段

line(x1,y1,x2,y2);//绘画线段

数学上两点确定一条直线,起点坐标(x1,y1),终点坐标(x2,y2),连接起来就表示一条线段.

6.画圆

fillcircle(x,y,r);//表示画一个满圆,即实心圆

x表示圆心的横坐标,y表示圆心的纵坐标,r表示半径的大小

circle(x,y,r)//表示画一个空心圆,只有圆的轮廓,中间是空的

 7.画矩形

rectangle(x1,y1,x2,y2)//表示画一个空心矩形(只有矩形的边框)

其中(x1,y1)表示矩形左下角点的坐标,(x2,y2)表示矩形右上角点的坐标,两个点是表示对角线,连起来画出矩形

fillrectangle(x1,y1,x2,y2);//表示画一个实心的矩形

8.设立填充颜色函数

setfillcolor(YELLOW);//当前颜色为黄色,颜色也可以用RGB来表示

填充颜色一般放在实心图的前面,例如:

setfillcolor(YELLOW);//颜色
fillrectangle(x1,y1,x2,y2);//实心图

9.画点

putpixel(x,y,color);//x表示点的横坐标,y表示点的纵坐标,color是颜色

 在图形库里,一个点即是一个像素点,我们可以利用循环来画出多个点来从而绘画出图形,例如:

for (int x = 0; x < 100; x++)
{
	for (int y = 0; y < 100; y++)
	{
		putpixel(x, y, BLUE);
	}
}//画出的结果是一个边长为100的正方形

10.画弧

 arc(x1,y1,x2,y2, stangle, endangle);//画出一个弧线

 参数: 坐标(x1,y1),(x2,y2)表示一个矩形左下角、右上角坐标.内框一个内切椭球形

        stangle表示弧的起始角度(为浮点数,弧度制)

        endangle表示弧的末尾角度(为浮点数,弧度制)

        画弧原则是,逆时针画弧

11.双缓冲(防止屏幕的跳动)

BeginBatchDraw();//
EndBatchDraw();//

12.贴图(放出图片)

	IMAGE kk;//设立一个图片,命名为kk
	loadimage(&kk,"img.jpg",x,y);//取地址,加载这个图片,同时设其长为x,高y(可以自行设立)
	putimage(X, Y, &kk);//放出改图片,图片左上角的的坐标为(X,Y)

要点须知:要想放出图片,前提要找到图片的完整路径。或者可以把图片的文件放到编译文件的同一个目录上.

13.鼠标操作

MOUSEMSG msg;  //定义一个鼠标消息
msg=GetMouseMsg();//获取鼠标消息

switch(msg.uMsg)
{
    case  WM_MOUSEMOVE:       ……break;//鼠标移动消息
    case  WM_MOUSEWHEEL:      ……break;// 鼠标滚轮拨动消息
    case  WM_LBUTTONDOWN:     ……break;// 左键按下消息
	case  WM_MBUTTONDOWN:     ……break;// 中键按下消息
	case  WM_RBUTTONDOWN:     ……break;// 右键按下消息
}

一般我们结合switch语句来执行相关的操作

14.获取一个点的颜色

COLORREF getpixel(x,y);//x表示该点的横坐标,y表示纵坐标

返回值是一个像素点的RGB的值。

15.关闭绘图窗口

closegraph();//放在末尾

目前就先讲这么多吧,其实easyx图形库里面还有很多很多函数。我们可以结合相关知识(循环,结构体,链表等等)去画出图形,做游戏。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fitz&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值