前面两节课,我们Python代码批量绘制像素点的方法进行了详细的探究,相信大家已经掌握了这些技巧。今天这节课,我们来探究任意图形的手工绘制了。
一、Python代码中的颜色列表(colour_list)
1、图像列表(colour_list)数据及对比
在我们的批量绘制像素点的方法中,图像列表是一个最为重要的数据,它决定我们最后的图形的形状与颜色。接下来,我们先来看一下,我们的图像列表输出结果。
这是我们在第14次课中得到的图像列表数据:
这是我们在第15次课中得到的图像列表数据:
通过对两组数据的对比,你能得出它们能绘制出相同的图形吗?你能看出最后的图形有什么不同吗?
正确的答案是,两组数据都能绘制出相同的图形,这个图形是问号图形。两幅图形的红色的亮度不同,第一张图形是[50,0,0],第二张图形是[255,0,0],也就是说第二张问号图形的红色更红一些,更亮一些!
2、图像列表(colour_list)数据再整理
接下来,我们进一步对图像列表数据进行整理,以期发现更为直接的规律。下面是第15课中我们得到的图像列表数据,大家已经很熟悉了。
将上面的数据整理一下,整理成8行8列的数据:
你发现了其中的规律了吗?还没有?我们再标识一下:
现在你看出我们最后的显示图形了吗?记住我们的[255,0,0]就代表红色,我们的[0,0,0]就代表黑色,这不就是那么黑底的红色问号图形吗?
3、图像列表(colour_list)数据识别下面的图形
下面,我们给出一个图像列表(colour_list)数据,你能看出它表示的图形吗?
上面的程序运行后会绘制出一个问号图形,这个图形的底色是O,问号的颜色是X。O和X分别是什么颜色,不知道!事实上需要我们在使用这个列表前进行设定,需要什么颜色就可以设定什么颜色。
二、创建自己的颜色列表(colour_list)
1、所见即所得
上面的颜色列表非常直观,因为我们已经把它排列成8*8的形状,已经与实际的点阵屏完全一致,修改上面的程序中的图像,就能修改点阵屏上实际看到的图像。这样的修改是不是可以算作是“所见即所得”呢?
2、创建像素图像
请你修改上面的图像列表,创建一幅像素图像,图像大小问题由自己来决定。
同伴间相互检查,并且说出他所创建的图像的是一幅怎样的图像。
下面老师创建的一幅图像,你能说出是一幅怎样的图像吗?
三、完成自己的Python代码编程
1、完整程序
2、程序总结
在已经创建好颜色列表的基础上,图像的形状已经确定,现在我们只需要指定O和X代表什么颜色即可。程序非常简单,甚至我们的colour_list = [ ]的语句也可省略掉,因为Python支持直接创建并赋值列表。
有了今天的认识,我们完全可以站在一幅完整的图像基础上绘制点阵屏图像,让我们的创作更为直接,更为直观。对8*8的点阵屏图,相信大家有更多的创意,请大家在课后自行探索实践!