用Python制作酷炫图形之如意金箍棒_颜色增加模块应用

用Python制作酷炫图形之如意金箍棒_颜色增加模块应用

如果简单地用Python编程绘制酷炫的图形呢?通常初入门者用Python的海龟画图模块绘制图形。我们只要导入海龟模块,就像下面这样,然后让海龟前进,就能画一个“一”字图形了。

import turtle
turtle.fd(100)

如果要让画的一字形图产生渐变效果,就像下面这样,该如何编程呢?仅靠海龟模块是无能为力了。

这时可以用一个叫coloradd的模块。这个模块里面也有一个命令,也叫coloradd。它能让颜色进行增加! 导入这个命令的代码为

from coloradd import *。

coloradd命令的参数为一个RGB三元组和一个小数。我们知道,在用RGB三元色表示颜色的时候,(255,0,0)表示红色,(0,255,0)表示绿色,(0,0,255)表示蓝色。三元组中的第一个数据是红色份量,第二个数据是绿色份量,第三个数据是蓝色份量。它们的最小值是0,表示这种颜色份量没有,最大值为255,表示这种颜色份量为100%。比如红色+绿色,结果就是黄色,RGB大法表示为(255,255,0)。比如红色+蓝色,结果是品红色,RGB表示法为(255,0,255)。如果要使用coloradd命令,要把海龟画图中屏幕的颜色模式设为255。代码像下面这样:

screen = turtle.getscreen()
screen.colormode(255)

为了使海龟所画的彩色一字从红色开始,接着我们设定一个起始颜色,代码为:

c = (255,0,0)

上面的c是一个三元组,在海龟画图中,会被识别为红色。

为了让所画的一字更加粗一些,我们把海龟画笔的粗细设为10,代码为以下所示:

turtle.pensize(10)

coloradd命令让颜色增加的本质就是修改元组里数据的值,然后返回一个新元组。当然,这个新元组可以被识别为一种颜色。如coloradd(c,0.01),结果是(255, 15, 0)。这被当成一种颜色时,是在红色的基础上加了一点绿色,这种颜色就向橙色靠近了一些。当 c = coloradd(c,0.01)再次运行时,c的值就会不断地向着“红橙黄绿青蓝紫”的方向渐变。程序就像下面这样:

for x in range(360):
   c = coloradd(c,0.01)

我们可以把上面的c都打印出来,能够看到一些三元组,它们表示的颜色就是从红色到紫色。这样不太直观,我们可以把这些颜色都设为海龟画笔的颜色,然后让海龟前进1个单位,这样就能把颜色显示出来了。

最后,全部代码如下所示:

import turtle
from coloradd import *

screen = turtle.getscreen()
screen.colormode(255)

c = (255,0,0)
turtle.pensize(10)

for x in range(360):
    turtle.color(c)
    c = coloradd(c,0.01)
    turtle.fd(1)


运行结果如下所示:

​使用python的coloradd模块制作如意金箍棒的运行结果

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。