Python绘图Turtle库详解
在Python中有很多编写图形程序的方法,一个简单的启动图形化程序设计的方法是使用Python内嵌的Turtle模块。Turtle是Python内嵌的绘制线、圆以及其他形状(包括文本)的图形模块。它很容易学习并且使用简单。
使用import turtle
导入即可。
一个Turtle实际上是一个对象,在导入Turtle模块时,就创建了对象,然后,可以调用Turtle对象的各种方法完成不同的操作。
当创建一个Turtle对象时,它的位置被设定在(0,0)处——窗口的中心,而且它的方向被设置为向右。Turtle模块用笔来绘制图形。默认情况下,笔是向下的(就像真实的笔尖触碰着一张纸)。如果笔是向下的,那么当移动Turtle的时候,它就会绘制出一条从当前位置到新位置的线。
画笔状态控制函数
函数 | 简写 | 作用 |
---|---|---|
turtle.pendown() | turtle.pd() | 放下画笔 |
turtle.penup() | turtle.pu() | 抬起画笔 |
turtle.pensize(width) | turtle.width(width) | 画笔大小(宽度) |
turtle.pencolor(rgb) | Null | 控制画笔颜色 |
运动控制函数
函数 | 简写 | 作用 |
---|---|---|
turtle.forward(d) | turtle.fd(d) | 移动画笔距离(d为正值向前,负值向后) |
turtle.backward(d) | turtle.bk(d) | 移动画笔的相反方向(向后移动) |
turtle.setpos(x,y) | turtle.goto(x,y) | 移动画笔到绝对位置 |
函数 | 作用 |
---|---|
turtle.circle(r, ext, step) | 控制画笔画弧线(默认绘制360度) |
turtle.setx(x) | 设置画笔X坐标 |
turtle.sety(y) | 设置画笔Y坐标 |
turtle.home() | 移动画笔到原点(0,0) |
turtle.dot(diameter, color) | 绘制具有指定直径和颜色的圆 |
turtle.undo() | 撤消(重复)最后一次乌龟动作 |
turtle.speed(s) | 设置画笔速度设置为1到10之间的整数(10最快) |
circle方法有三个参数:radius是必需的,extent和step是可有可无的。extent是一个角度,它决定绘制圆的哪一部分。step决定使用的阶数。如果step是3/4/5/6……,那么circle方法将绘制一个里面包含被圆括住的的三边、四边、五边、六边或更多边形(即正三角形、正方形、五边形、六边形等)。如果不指定阶数,那么circle方法就只画一个圆。
方向控制函数
函数 | 简写 | 作用 |
---|---|---|
turtle.right(angle) | turtle.rt(angle) | 改变画笔的角度 |
turtle.left(angle) | turtle.lt(angle) | 改变画笔的角度 |
turtle.setheading(angle) | turtle.seth(angle) | 调整画笔的运动方向(0-东, 90-北, 180-西 270-南) |
画笔颜色填充函数
函数 | 作用 |
---|---|
turtle.color(c1,c2) | 同时设置pencolor=c1, fillcolor=c2 |
turtle.fillcolor | 设置填充图形的填充颜色 |
turtle.begin_fill() | 开始填充图形 |
turtle.end_fill() | 结束填充命令 |
turtle.filling() | 返回是否在填充状态 |
文字写入命令
函数 | 作用 |
---|---|
turtle.write(s, font=(“Arial”, 8, “normal”)) | 写文本,s为文本内容,font是字体的参数(字体名称,大小,类型) font为可选项, font的参数也是可选项 |
全局控制命令
函数 | 作用 |
---|---|
turtle.clear() | 清空窗口(但画笔位置和状态不变) |
turtle.reset() | 重置窗口(但画笔位置和状态成初始状态) |
turtle.isvisible() | 设置画笔是否可见 |
turtle.screensize(w, h) | 设置画布的宽高 |
turtle.hideturtle() | 隐藏箭头显示 |
turtle.showturtle() | 显示画笔箭头 |
更改默认的屏幕外观与行为
在工作目录文件下,新建turtle.cfg文件,写入
width = 0.5 #窗体宽度——个整数(单位:像素)或者是小数(单位:百分比),默认是屏幕宽的50%
height = 0.75 #窗体高度——个整数(单位:像素)或者是小数(单位:百分比),默认是屏幕宽的75%
leftright = None #窗体距离屏幕左边的距离
topbottom = None #窗体距离屏幕顶部的距离
canvwidth = 400 #画布宽度
canvheight = 300 #画布高度
mode = standard #笔刷模式:standard(向右逆时针);logo(向上顺时针);world(用户定义的坐标)
colormode = 1.0 #颜色模式,范围(1-255)
delay = 10 #每一笔的延迟时间
undobuffersize = 1000 #缓存大小
shape = classic #形状可选模式:polygon(多边形) image(图片) compound(复合形状)
pencolor = black #画笔的默认颜色
fillcolor = black #如果想让箭头成透明,可以给个空字符串,fillcolor=""
resizemode = noresize #auto(根据pensize来自动调整)、user(自定义)、noresize(不改变箭头外观)
visible = True #是否显示箭头
title = Python Turtle #窗体的标题
using_IDLE = False #如果你经常使用IDLE程序运行,请将这项设置成True
lib/turtledemo 目录下已经有默认的文件,新建后会覆盖默认设置
本作品采用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可。