turtle库画小老鼠
谈起turtle库大家都不陌生,但是用它来画画真的是一件很神奇的事情。想想之前只能用画笔绘画,现在却可以用代码来实现自己想要的作品。
That’s amazing!
好了,废话不多说。
今天就用python画一只新年老鼠。后期的颜色分享在下方链接。
先给大家简单介绍下Turtle库的应用吧。
turtle库的坐标体系
按照高中数学所学的象限一样,将坐标系分为四个象限,画笔想往哪个方向画就对应到哪个象限,再加上对应的角度,就可以控制自己的画笔啦。
用turtle库绘画和徒手绘画是一个道理,每次画线条之前都需要抬手然后移动到自己想要的地方再落笔。这里就要用到函数:
penup():这个函数相当于一个抬手的动作。
goto():这个函数是一个瞬间移动,移动时不绘画。
pendown():这个就是一个落笔,笔尖落在想要的位置上方。
当然,在绘画之前可以选择画布的背景颜色。
screensize(wide,long,“color”)
pensize(width):笔的粗细。
speed(num),以及绘画的速度。num越大绘制速度越快。
pencolor():笔的颜色。
在画好图形需要填充时
begin_fill():开始填充
color():设置填充颜色
end_fill():填充结束
我们还可以画一个圆:circle(radius,extent=None)
radius:弧形半径。正值:半径在画笔左侧,负值相反
extent:弧形的角度(注意!是相对角度),当值为None或空时,绘制整个圆形。
当extent不为0时,可以绘制一个圆。
在画之前要决定好自己画的位置,定好坐标,这样才更能有效率地画画。
下面是 小老鼠
的代码。
// 小老鼠.py
import turtle#导入turtle库
turtle.screensize(800,600,"#B22222")#设置画布背景颜色
turtle.pensize(2)#设置画笔宽度
turtle.pencolor("gray")
turtle.speed(60)
#画左耳朵
turtle.penup()
turtle.goto(-45,80)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")
turtle.circle(30)
turtle.end_fill()
turtle.penup()
turtle.goto(-45,85)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(25)
turtle.end_fill()
#画右耳朵
turtle.penup()
turtle.goto(45,80)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")
turtle.circle(30)
turtle.end_fill()
turtle.penup()
turtle.goto(45,85)
turtle.pd()
turtle.begin_fill()
turtle.color("#FAFFF0")
turtle.circle(25)
turtle.end_fill()
#画帽子
turtle.penup()
turtle.goto(0,90)
turtle.pd()
turtle.begin_fill()
turtle.color("#191970")
turtle.circle(20)
turtle.end_fill()
turtle.penup()
turtle.goto(0,130)
turtle.pd()
turtle.begin_fill()
turtle.color("#FFFFE0")
turtle.circle(2)
turtle.end_fill()
#画圆
turtle.penup()
turtle.goto(0,0)
turtle.pd()
turtle.begin_fill()
turtle.color("Silver")
turtle.circle(55)
turtle.end_fill()
turtle.color("gray")
turtle.circle(55)
#画左眼睛
turtle.penup()
turtle.goto(-25,65)
turtle.pd()
turtle.begin_fill()
turtle.color("black")
turtle.circle(5)
turtle.end_fill()
#画右眼睛
turtle.penup()
turtle.goto(25,65)
turtle.pd()
turtle.begin_fill()
turtle.color