海龟画图-第二部分
让海龟去画图(二)
让海龟涂上颜色
改变画笔的颜色
画笔的默认颜色为黑色,可以调用pencolor()
改变画笔的颜色,这个函数的参数有很多格式,我们先只学习最简单的格式,即传入有实际颜色涵义的英文字符串,如:
"red" "green" "yellow" "blue" "orange" "grey" "cyan" "white" "brown" "black"...
import turtle as t
t.forward(100)
t.pu()
t.goto(0, 100)
t.pencolor("red")
t.pd()
t.forward(100)

我们让海龟先移动了100px
,然后抬笔将海龟移动到坐标(0, 100)
的位置,改变画笔的颜色为red
,再让海龟向前移动了100px
,画出红色的线。
填充颜色
在海龟画出一个平面图形之后,可以给这个图形填充颜色,需要调用下面两个函数来实现:
begin_fill()
表示开始填充,需要在要填充的形状之前调用,无参数。end_fill()
表示结束填充,在turtle
模块中,这个函数才是实际用来填充的函数,也无参数。
能够被填充的图形是由写在上述两个函数之间的代码所绘制的。
填充的颜色默认为黑色,需要改变填充颜色时,可以调用fillcolor()
实现,所需传入的参数同pencolor()
。
强调一下,被填充的是什么颜色只与在end_fill()
函数之前最后一次调用fillcolor()
所设置的颜色有关。
我们以下面代码为例:
import turtle as t
t.fillcolor("red") # 设置填充颜色为red
t.begin_fill()
t.circle(100)
t.fillcolor("blue") # 设置填充颜色为blue,替换第一次设置的red
t.end_fill()
t.fillcolor("yellow") # 设置填充颜色为yellow,只对之后的填充生效,并不影响已经结束填充的图形

同时改变画笔和填充颜色
color()
函数可以同时设置画笔和填充的颜色, 允许输入 0 至 3 个参数,这里我们只学习其中两种:
color("red","blue")
设置画笔颜色为red
,填充颜色为blue
。color("yellow")
设置画笔与填充颜色均为yellow
。
import turtle as t
t.color("yellow")
设置画布的颜色
海龟画图的画布为白色,如果想设置成其它颜色,可以调用bgcolor()
实现,颜色参数的格式同pencolor()
.
import turtle as t
t.bgcolor("yellow")

画笔与画在控制
设置画布大小和位置
setup()
函数可以设置主窗口的大小和位置,它有四个参数:
import turtle as t
t.setup(width=0.5, height=0.75, startx=None, starty=None)
- width -- 如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%
- height -- 如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%
- startx -- 如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中
- starty -- 如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中
import turtle as t
t.setup(300, 300, 0, 0)
设置海龟绘制速度
海龟模块中speed()
函数可以设置绘制速度,这个函数只能接收0~10
之间的整数,当传入0
时,海龟的绘制速度是最快的,其次速度值从1
到10
,画线和海龟转向的动画效果逐级加快;如果输入数值大于10
或小于0.5
则速度设为0
。
也可以传入速度字符串设置绘制速度,速度字符串与速度值的对应关系如下:
- "fastest": 0 最快
- "fast": 10 快
- "normal": 6 正常
- "slow": 3 慢
- "slowest": 1 最慢
import turtle as t
t.speed(0)
t.speed("normal")
设置画笔的粗细
画笔的默认为1px,调用pensize()
函数可以设置画笔所画线条的粗细。
import turtle as t
t.forward(100)

import turtle as t
t.pensize(5)
t.pencolor("red")
t.forward(100)

隐藏与显示画笔
在上面的学习过程中所示的图片中,可以看到海龟一直显示在画布上,可以调用hideturtle()
使海龟不可见,隐藏之后在绘制复杂图形时可以显著加快绘制速度。
import turtle as t
t.hideturtle() # 或 t.ht()
如果想重新让海龟显示在画布上,可以调用showturtle()
:
import turtle as t
t.showturtle() # 或 t.st()
重置所有
reset()
可以重置海龟的所有状态,并从画布中消除所有绘制的图形。
import turtle as t
t.color("yellow")
t.seth(100)
t.goto(100, 100)
t.reset()
