Turtle Graphics是python内置的画图工具,使用import turtle即可使用。
和一般画图工具一样,turtle也有画布和画笔等基本要素。
画布
画布是turtle的绘图区域, 我们可以设置它的初始位置及大小。
命令 | 说明 |
---|---|
turtle.screensize(canvwidth=None, canvheight=None, bg=None) | 设置画布宽度、高度及背景颜色 |
画笔
(1)画笔控制命令
命令 | 说明 |
---|---|
turtle.pensize(width) | 绘制图形时的宽度 |
turtle.pencolor() | 画笔颜色 |
turtle.fillcolor(colorstring) | 绘制图形的填充颜色 |
turtle.color(color1,color2) | 同时设置画笔颜色及填充颜色 |
turtle.filling() | 返回当前是否在填充状态 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 结束填充 |
turtle.hideturtle() | 隐藏箭头 |
turtle.showturtle() | 显示箭头 |
(2) 画笔运动命令
命令 | 说明 |
---|---|
turtle.forward(distance) | 向当前画笔方向移动distance像素长度 |
turtle.backward(distance) | 向当前画笔相反方向移动distance像素长度 |
turtle.right(degree) | 顺时针移动degree度 |
turtle.left(degree) | 逆时针移动degree度 |
turtle.pendown() | 移动时绘制图形,缺省时为绘制 |
turtle.penup() | 提起笔,移动时不绘制图形 |
turtle.goto(x,y) | 将画笔移动到坐标为x,y的 |
turtle.circle() | 画圆,半径为正(负)表示圆心在画笔的左(右)边画圆 |
(3) 全局控制命令
命令 | 说明 |
---|---|
turtle.clear() | 清空turtle窗口 |
turtle.reset() | 清空turtle窗口,重置turtle为初始状态 |
turtle.undo() | 撤销上一个turtle操作 |
turtle.isvisible() | 返回当前turtle是否可见 |
turtle.stamp() | 复制当前图形 |
turtle.write(s, font) | 写文本,s为文本内容,font是字体参数 |
(4)命令详解
turtle.circle(radius, extent=None, steps=None)
描述: 以给定半径画圆
参数:
-radius(半径),半径为正(负)表示圆心在画笔的左边(右边)画圆
-extent(弧度) ,可选;
-steps (多边形边数), 画半径为radius的圆的内切正多边形;
举例:
circle(50) # 整圆;
circle(50,steps=3) # 三角形;
circle(120, 180) # 半圆
绘画示例
画心
基本示例代码如下:
import turtle
import time
# 曲线移动
def curveMove():
for i in range(200):
turtle.right(1)
turtle.forward(1)
def drawHeart():
turtle.speed(10) # 画笔速度调到最高
turtle.color('red','pink')
turtle.begin_fill()
turtle.left(140) # 逆时针旋转140度
turtle.forward(111.65) # 向前移动111.65个像素
curveMove() # 画曲线
turtle.left(120) # 逆时针旋转120度
curveMove() # 继续画曲线
turtle.forward(111.65) # 向前移动111.65个像素
turtle.end_fill()
time.sleep(10)
if __name__ == '__main__':
drawHeart()
最终效果图如下所示: