Python Turtle绘图基础(三)——Turtle色彩和画笔设置

今天继续给大家介绍Python相关知识,本文主要内容是Python Turtle绘图基础(三),包括Turtle色彩和Turtle画笔设置。

一、Turtle色彩设置

想要用Turtle绘制出更加复杂,更加美丽的图形,就必须学习Turtle的色彩设置。
Turtle的色彩设置支持两种模式,一种是常见的颜色单词,比如说red、blue、yellow等;另一种是通过RGB色彩体系。
RGB指红、蓝、绿三个通道颜色的组合,是目前计算机常用的色彩体系,基本上能够覆盖视力所能感知的所有颜色。使用RGB色彩体系来表示颜色,则需要一个三元组,分别表示红色、绿色、蓝色这三种颜色的强度,强度值可以是一个0-255的整数,也可以是0-1的小数,常见的RGB色彩表如下所示:

颜色 RGB整数值 RGB小数值
白色 (255,255,255) (0,0,0)
黑色 (0,0,0) (0,0,0)
黄色 (255,255,0) (1,1,0)
洋红 (255,0,255) (1,0,1)
青色 (0,255,255) (0,1,1)
金色 (255,215,0) (1,0.96,0.93)
紫色 (160,32,240) (0.63,0.13,0.94)
粉红色 (255,192,203) (1,0.96,0.93)

我们可以使用以下函数:

turtle.colormode(mode)

来设置颜色的模式,如果参数mode取值为255,则采用的是RGB整数值模式,如果参数mode取值为1.0,则采用的是RGB小数值模式。
如果我们要设置画笔的颜色,则可以使用以下函数:

turtle.pencolor(color)

其中color即表示画笔的颜色,通过这种方式,会将画笔颜色进行设置,但是不影响之前绘制线条的颜色。

二、Turtle画笔设置

为了更加方面的绘图,Turtle库还提供了一系列画笔控制函数,主要有以下三个:
1、turtle.pensize(width)
该函数用于设置画笔的粗细,width参数单位为像素,默认值为1,该函数还有别名turtle.width。
2、turtle.penup()
该函数没有参数,主要用于提起画笔,当画笔提起时,我们依旧可以控制画笔进行运动,但是此时的运动不会在绘图区域内留下任何痕迹。该函数也具有别名turtle.pu和turtle.up。
3、turtle.pendown()
与turtle.penup()函数对应的是turtle.pendown()函数,该函数用于放下画笔,当画笔放下后,画笔的运动会在绘图区域内留下痕迹。该函数也具有别名turtle.pd和turtle.down。

三、Turtle库画图案例

我们可以利用Turtle库的颜色控制函数来画一个多彩的五角星,代码如下所示:

import turtle

turtle.setup()
turtle.pencolor('red')
turtle.fd(100)
turtle.colormode(255)
turtle.pencolor(255,215,0)
turtle.rt(144)
turtle.forward(100)
turtle.colormode(1.0)
turtle.pencolor(0.63,0.13,0.94)
turtle.lt(-144)
turtle.bk(-100)
turtle.pencolor('blue')
turtle.right(144)
turtle.fd(100)
turtle.pencolor('yellow')
turtle.right(144)
turtle.fd(100)

上述代码绘制出的图形如下所示:
在这里插入图片描述
我们也可以利用Turtle库的画笔控制函数来画两个五角星,代码如下所示:

def FiveStar():
    for i in range(5):
        turtle.right(144)
        turtle.fd(100)
import turtle

turtle.setup()
#绘制第一个五星
turtle.penup()
turtle.goto(10,100)
turtle.pendown()
FiveStar()
#绘制第二个五星
turtle.penup()
turtle.goto(150,100)
turtle.pendown()
FiveStar()
turtle.done()

上述代码绘制出的图形如下所示:
在这里插入图片描述
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/127255876
今日推荐