Turtle库是Python语言中一个很流行的绘制图像的函数库
使用之前需要导入库:import turtle
1.设置画布窗口
turtle.setup(width,height,startx,starty)
-setup() 设置窗体的位置和大小
相对于桌面的起始点的坐标以及窗口的宽度高度,若不写窗口的起始点,则默认在桌面的正中心
窗体的坐标原点默认在窗口的中心
2.绝对坐标
○ turtle.goto(100,100):指从当前的点指向括号内所给坐标
3.海龟坐标,把当前点当做坐标,有前方向,后方向,左方向,右方向
turtle.fd(d):指沿着海龟的前方向运行
turtle.bk(d):指沿着海龟的反方向运行
turtle.circle(r,angle):指沿着海龟左侧的某一点做圆运动
4.绝对角度
turtle.seth(angle):只改变海龟的行进方向(角度按逆时针),但不行进,angle为绝对度数。
5.海龟角度
turtle.left(angle)
turtle.right(angle)
6.切换RGB色彩模式
turtle.colormode(mode)
1.0:RGB小数模式
255:RGB整数模式
turtle.penup() 别名turtle.pu()
画笔抬起,不留下痕迹
turtle.pendown() 别名turtle.pd()
画笔落下,留下痕迹
turtle.pensize(width) 别名turtle.width(width)
画笔宽度
turtle.pencolor(color)
color为颜色字符串或者rgb值
eg:turtle.pencolor("purple")颜色字符串
turtle.pencolor(0.63,0.13,0.94)RGB的小数值
turtle.pencolor((0.63,0.13,0.94))RGB的元组值
turtle.goto(x, y) #将画笔移动至(x,y)处
turtle.forword(d) 别名turtle.fd(d)
向前行进
d:行进距离,可以为负数
turtle.circle(r,extent=None)
根据半径r,绘制一个extent角度的弧度
r:默认圆心在海龟左侧r距离的位置
turtle.setheading(angle) 别名turtle.seth(angle)
改变行进方向
angle:改变方向的角度(绝对坐标下,绝对角度)
turtle.left(angle)
turtle.right(angle)
angle:当前方向上转过得角度(海龟角度)
实例:
画祝福字
# coding=utf-8 # HappyBirthday import turtle def move(angle, length): # 画笔控制函数 turtle.penup() # 画笔抬起,不留下痕迹 # 方向控制函数 turtle.seth(angle) # 改变行进方向 # 运动控制函数 turtle.fd(length) # 向前行进 # prepare # 宽高开始X开始Y turtle.setup(1300, 400, 100, 100) # 设置窗体的位置和大小 # 画笔控制函数 turtle.penup() # 画笔抬起,不留下痕迹 turtle.fd(-350) # 向前行进 turtle.seth(90) # 改变行进方向 turtle.fd(50) # 向前行进 turtle.pendown() # 画笔落下,留下痕迹 turtle.pensize(10) # 画笔宽度 turtle.pencolor("green") # 画笔颜色,为颜色字符串或者rgb值 turtle.seth(0) # 改变行进方向 # turtle.hideturtle() # 隐藏画笔 turtle.speed(5) # 笔的移动速度参数范围0.5——10,范围之外为0,最快,不设置速度为最慢 # 呀 turtle.fd(100) # 生 turtle.pencolor("green") # turtle.circle(r,extent=None) # 根据半径r,绘制一个extent角度的弧度 # r:默认圆心在海龟左侧r距离的位置 turtle.circle(50, 90) turtle.circle(50, -30) turtle.seth(0) turtle.fd(100) turtle.fd(-50) turtle.left(90) turtle.fd(30) turtle.fd(-60) turtle.left(90) turtle.fd(50) turtle.fd(-100) turtle.fd(50) turtle.left(90) turtle.fd(50) turtle.right(90) turtle.fd(60) turtle.fd(-120) # 日 turtle.penup() turtle.fd(-30) turtle.pendown() turtle.seth(90) turtle.fd(100) turtle.seth(0) turtle.fd(70) turtle.seth(-90) turtle.fd(50) turtle.seth(180) turtle.fd(70) turtle.seth(-90) turtle.fd(50) turtle.seth(0) turtle.fd(70) turtle.seth(90) turtle.fd(50) # 移动 move(0, 30) # 快 turtle.pensize(8) turtle.circle(30, 15) turtle.pendown() turtle.circle(30, 60) turtle.penup() turtle.seth(0) turtle.fd(13) turtle.seth(90) turtle.pendown() turtle.fd(40) turtle.fd(-50) turtle.penup() turtle.seth(0) turtle.fd(13) turtle.pendown() turtle.seth(-180) turtle.circle(20, -90) turtle.circle(20, 90) turtle.penup() turtle.fd(13) turtle.pendown() turtle.seth(-90) turtle.fd(60) move(0, 40) move(90, 80) turtle.pendown() turtle.seth(0) turtle.fd(30) turtle.seth(90) turtle.fd(30) turtle.fd(-30) turtle.seth(0) turtle.fd(20) turtle.seth(-90) turtle.fd(35) turtle.seth(0) turtle.fd(10) turtle.fd(-30) turtle.seth(90) turtle.fd(35) turtle.fd(-35) turtle.seth(0) turtle.fd(-25) move(-90, 50) move(180, 25) turtle.pendown() turtle.seth(0) turtle.penup() turtle.circle(50, 20) turtle.pendown() turtle.circle(50, 70) turtle.seth(-90) turtle.circle(50, 60) # 移动 move(0, 50) move(90, 45) # 乐 turtle.pensize(10) turtle.pendown() turtle.fd(40) turtle.seth(0) turtle.circle(50, 60) turtle.circle(50, -25) move(-90, 15) turtle.pendown() turtle.fd(30) turtle.seth(0) turtle.fd(-25) turtle.fd(65) turtle.fd(-40) turtle.seth(-90) turtle.fd(60) turtle.seth(135) turtle.fd(20) move(135, 10) turtle.pendown() turtle.seth(-135) turtle.fd(20) move(0, 70) turtle.pendown() turtle.seth(135) turtle.fd(20)
画爱心
import turtle def curve(): for i in range(200): turtle.right(1) turtle.forward(1) turtle.color('pink') turtle.write('aaaa', align='center') turtle.begin_fill() turtle.left(140) turtle.forward(111.65) curve() # turtle.letf(120) turtle.left(120) curve() turtle.forward(111.65) turtle.end_fill() turtle.hideturtle() turtle.done()