前面的课程中,我们用Python代码批量绘制像素点的方法绘制了正方形。这个方法与我们绘制像素点的方法的区别相当于单数与复数。批量绘制像素点的方法便于我们从整体的角度把握一幅图形。我们的64个参数,可以认为是8行8列的参数,我们可以建立在整体图像的基础上,来构建我们的参数。今天这节课,我们将尝试绘制一幅简单的问号图形。
一、图形化编程批量绘制问号图形
1、程序实现思路
把我们要显示的问号图形放在8*8的矩阵中,我们很容易看出来,只要突出几个关键的点就可以实现最终的效果。突出哪些点呢?就是上面图中的红色点。
下面,我们把这些需要突出的点放在一个叫图像列表(image_list)的数组中:
[4,5,11,14,22,29,36,44,60]
2、初始化四个列表
我们的图形准备用黑色作为底色,用红色作为显示色。那么,就先来创建黑色与红色的颜色列表,然后再创建一个图像列表,这里的数据是红色点在数据列表中的位置。这个图像列表决定着我们所绘制的图形的形状。
3、数据列表全部设置为黑色(底色)
4、设定指定点为红色
这里我们使用了列表循环,从图像列表中依次取出所有元素的位置数据,然后使用列表修改的方法,将该位置的颜色数据改写为红色。
5、输出颜色列表
输出我们准备好的颜色列表,检查一下,我们的颜色列表是否合格?
6、以颜色列表显示点阵屏
7、完整程序
二、Python代码批量绘制问号图形
1、导入库并实例化对象
2、初始化列表
初始化红色列表(red)、黑色列表(black),分别指定红色和黑色的rgb值。创建颜色列表(colour_list)并赋值为空,准备接受指定的数据。创建图像列表(image_list),并为图像列表赋值,将红色点的位置数据储存在图像列表数据中。
3、所有像素点全部设置为黑色
继续使用列表的的append( )方法将黑色数据依次添加到颜色列表中。
4、将图像所对应的点全部设置为红色
对图像列表进行遍历,根据每一个图像位置,将相应的点的颜色数据改写为红色。
5、根据数据列表批量设置点阵屏
6、完整程序
所有的代码程序其实就是图形化程序的代码化。
7、程序运行结果
程序运行后,点阵屏上显示一个与在图形化编程中完全一模一样的问号,这说明我们的测试是基本成功的。为什么说是基本成功呢?下一节课,我们继续为与大家一起探究程序的优化。