> 文章列表 > 用EasyX图形库画一个哆啦A梦

用EasyX图形库画一个哆啦A梦

用EasyX图形库画一个哆啦A梦

继续说图形库,加一点实战用图形画图(用来巩固代码):

rectangle这个函数

四个参数,左上角坐标的x,y值,右下角坐标的x,y值;因为只要有两个点,就可以以它们的横坐标之差为长,纵坐标之差为宽画一个矩形,其实,这个函数的学习还丰富了英语知识。因为rectangle的意思就是矩形;

#include<easyx.h>
#include<stdio.h>
int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);rectangle(0, 0, 100, 100);getchar();closegraph();return 0;}

光说不做没用的,要多练习; 

类似的还有ellipse函数,是画椭圆的,也是四个函数,和矩形类似,因为只要知道一个矩形,就可以画一个它的内切椭圆;同样,ellipse的意思也是椭圆

#include<easyx.h>
#include<stdio.h>
int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);ellipse(0, 0, 200, 100);getchar();closegraph();return 0;}

 然后就是画点函数:有三个参数,前两个为点的x,y坐标,最后一个参数为颜色,这里着重解释一下颜色,图形库里面自带的颜色关键字有限,颜色都是它的英文字母且都为大写字母:

BLACK 黑色;

BLUE  蓝色   LIGHTBLUE  浅蓝

GREEN 绿色    LIGHTGREEN  浅绿

CYAN 蓝绿色   LIGHTCYAN 蓝绿色

RED 红色   LIGHTRED  浅红

MAGENTA 洋红    LIGHTMAGENTA 浅洋红

BROWN 棕色    

LIGHTGRAY   浅灰   DARKGRAY 深灰

YELLOW 黄色

WHITE 白色

然后还有一个自己配颜色的方法,后续会有;

为了显现这些颜色看看(只画四个),用画线函数看看,因为一个点太小,看不出区别;

#include<stdio.h>
#include<easyx.h>
int main()
{initgraph(800, 600);setorigin(400, 300);setaspectratio(1, -1);setlinestyle(PS_SOLID, 10);//设置线条格式为实线,大小为10像素(一般线条大小为1像素)setlinecolor(LIGHTGRAY);//设置线条颜色为浅灰色line(20, 0, 20, 100);setlinecolor(LIGHTMAGENTA);line(40, 0, 40, 100);setlinecolor(LIGHTGREEN);line(60, 0, 60, 100);setlinecolor(CYAN);line(80, 0, 80, 100);getchar();closegraph();return 0;
}

 (这里有设置线条格式和颜色的函数现在先简单带过一下)

putpixel但是由于点一般太小了,所以画很多才可以看见,对了,这个函数是由词组put pixel构成,意为放置像素,要知道在窗口里面都是一般都是以1像素为基本单位,而一个点不就相当于1像素,所以这个函数就相当于画点:这里来用点画个伪星空:

#include<stdio.h>
#include<easyx.h>
int main()
{initgraph(800, 600);for (int i = 0; i < 100; i++){int x = rand() % (800 + 1)-400;int y = rand() % (600 + 1)-300;putpixel(x, y, YELLOW);}getchar();closegraph();return 0;
}

 这里有一个新函数rand,用来取随机值,没有参数,rand()返回的是一个不为负数的随机值,而上面的代码之所以是这样是为了让这个100个点里面的每个点都遍布窗口,也就是让它的横坐标分布在-400~400,纵坐标在-300~300里面;然后就很好理解了,如果%没明白的话可以百度;

本来打算一口气写完的,然后还是的拖到明天~;

最近有点喜欢曾国藩的这句话:盖打脱牙之时多矣,无一次不和血吞之;