目录
一,概述
二,turtle的属性和函数
1,颜色
2,形状函数
3,状态函数
4,控制函数
5,circle图形绘制函数
6,图形填充函数
python中的绘制图库turtle能够实现在计算机上和在本子上绘图一样轻松,我们只需要导入turtle库,之后调用相关的函数即可。现在我们来一一认识:
turtle有许多属性,如画笔及箭头颜色,画笔的形状,绘画的速度,画笔的大小(画笔尺寸)等。
颜色有三种表示方式:一种是字符串的形式,一种是rgb的形式,最后一种是十六进制的形式。
我们现在可以通过简单的设置画笔的笔头的颜色及画出来的线的颜色来进行个性化设置,如下我将把画笔的笔头颜色设置为红色,画出来的直线为蓝色:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle # 导入海龟库
if __name__ == '__main__':
turtle.color("#EE3B3B") # 笔头颜色
turtle.pencolor("#33ff33") # 线的颜色
turtle.forward(200) # 绘制一条200像素的直线
turtle.done() # 需要调用done函数,不然窗口就会一闪而逝
如上,我们可以看到绘制的笔头默认是一个小三角形,并且,箭头默认是往右边跑的。
接下来我们去修改笔头的形状。
我们可以使用turtl.shape(shape_name)设置或修改笔头的形状,python支持以下六种形状:
“arrow”,“turtle”,“circle”,“square”,“triangle”,“classic”
(“箭头”、“乌龟”、“圆形”、“方形”、“三角形”、“经典”)
大家可以去运行如下代码进行查看这些形状的改变:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle # 导入海龟库
if __name__ == '__main__':
turtle.color("#EE3B3B") # 笔头颜色
turtle.pencolor("#33ff33") # 线的颜色
turtle.speed(1) # 可以让海龟跑得更快【数字越大,速度越快,范围为:1~10】
turtle.shape("turtle") # 海龟
turtle.forward(200)
turtle.right(60)
turtle.shape("arrow") # 箭头
turtle.forward(200) # 右直走200像素
turtle.right(60) # 向右拐90度 可用left(-90)替代
turtle.shape("square") # 正方形
turtle.forward(200)
turtle.right(60)
turtle.shape("classic") # 经典(小箭头)
turtle.forward(200)
turtle.right(60)
turtle.shape("triangle") # 大箭头
turtle.forward(200)
turtle.right(60)
turtle.shape("circle") # 圆形
turtle.forward(200)
turtle.done() # 加上done函数之后窗口就不会一闪而过
相信大家也发现了上面的代码中出现了turtle.done()函数的使用,该函数表示我们的绘图结束,并将窗口保持打开的形式进行展示,如果不是该函数的话我们的窗口就会一闪而逝,根本就来不及看清到底画了个啥。除了done函数,turtle还有penup,pendown函数,这两个函数分别表示画笔的提起和画笔的放下,在下面的控制语句那里我们就会看到它们两与goto移动控制函数一起使用。
如果运行了上面含有right,left,forward等函数的代码的,应该会对这三个移动控制函数有更加多的认识,见名知义,没错,这三个移动控制函数都是控制我们的海龟向右,向左,向前进行跑动的,但是移动控制函数不止这三个函数,有向前的函数自然就会有向后的函数,该函数为:backward,该函数会控制海龟向后运动,值得一提的就是goto函数,该移动控制函数可以将我们的海龟直接移动到指定的位置,但是它需要和penup和pendown函数一起使用,才不会留下长长的一段线,实现直接跳到该指定位置的作用和功能。
控制函数还有角度控制函数,图形绘制和图形填充控制函数。
接下来我们使用代码来更进一步的认识与了解:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle
if __name__ == '__main__':
turtle.color("#FF0000") # 笔头的颜色红色
turtle.pencolor("#87CEEB") # 线的颜色淡蓝色
turtle.forward(200) # 前进200像素
turtle.pencolor("#0A0A0A") # 深黑色
turtle.backward(100) # 后退100像素
turtle.pencolor("#000080") # 深蓝色
turtle.forward(100)
turtle.left(90) # 向左转弯90度
turtle.pencolor("#00EE00") # 绿色
turtle.forward(200)
turtle.pencolor("#87CEEB") # 线的颜色淡蓝色
turtle.right(90) # 向右转弯90度
turtle.forward(200)
turtle.penup() # 让海龟起来
turtle.goto(44,55) # 海龟移动位置
turtle.pendown() # 海龟移动到好位置之后累得趴了下来
turtle.left(90) # 让海龟向左转90度
turtle.forward(200)
turtle.done() # 结束函数
形如:circle(radius,extent,steps)
如下,绘制一整个圆,(弧度为360,半径为66):
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle
if __name__ == '__main__':
turtle.circle(66,360)
turtle.done()
绘制一个菱形:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle
if __name__ == '__main__':
turtle.circle(66,360,steps=4)
turtle.done()
我们之前绘制的图像都是中间没有颜色的,显得不大丰富多彩,python也提供了相关的图形填充函数,fillcolor(填充什么颜色),begin_fill(开始填充),end_fill(结束填充)等三个函数。接下来我们使用代码来查看具体的使用及效果,如下:
# -*- encoding: utf-8 -*-
"""
@author:Low-level programmer
"""
import turtle
if __name__ == '__main__':
turtle.fillcolor("#00EEEE") # 将要填充的颜色
turtle.begin_fill() # 表示开始填充颜色
turtle.circle(66,360) # 绘制一个半径为66,弧度为360的圆
turtle.end_fill() # 表示结束填充颜色
turtle.done()
有问题请在评论区留言。