继续说图形库,加一点实战用图形画图(用来巩固代码):
rectangle这个函数
四个参数,左上角坐标的x,y值,右下角坐标的x,y值;因为只要有两个点,就可以以它们的横坐标之差为长,纵坐标之差为宽画一个矩形,其实,这个函数的学习还丰富了英语知识。因为rectangle的意思就是矩形;
#include
#include
int main()
{
initgraph(800, 600);
setorigin(400, 300);
setaspectratio(1, -1);
rectangle(0, 0, 100, 100);
getchar();
closegraph();
return 0;
}
光说不做没用的,要多练习;
类似的还有ellipse函数,是画椭圆的,也是四个函数,和矩形类似,因为只要知道一个矩形,就可以画一个它的内切椭圆;同样,ellipse的意思也是椭圆
#include
#include
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
#include
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
#include
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里面;然后就很好理解了,如果%没明白的话可以百度;
本来打算一口气写完的,然后还是的拖到明天~;
最近有点喜欢曾国藩的这句话:盖打脱牙之时多矣,无一次不和血吞之;生活中总是遇到各式各样的挫折和磨难,我们可能难过,受伤,甚至可能想要放弃远方,可是路就在这里,我们就得走完,既然不管怎么样都叫人生,那为什么不去尝试一种更加刺激的玩法呢?所以,别怕,擦干眼泪站起来,继续成就你的未来!