赞
踩
turtle的画笔可以想象成一个海龟(这也是turtle模块名字的由来)。
turtle(海龟)
是Python内置的一个标准模块(库),它提供了绘制线、圆和其他形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简答重复的动作直观地绘制界面和图形。
turtle的使用主要分为创建窗口、设置画笔和绘制图形(移动画笔)3个方面。
import turtle
import turtle as t #这两种方式都可以,后者是将turtle简化,使用起来更加方便。
图形窗口也成为画布(canvas)。控制台无法绘制图形,使用turtle模块绘制图形化界面需要先使用setup()
函数创建图形窗口。
setup(width,height,startx=None,starty=None)
ex:
turtle.setup(800,600)
'''
width 是窗口的宽度
height 是窗口的高度
startx 是窗口在计算机屏幕上的横坐标
starty 是窗口在计算机屏幕上的纵坐标。
'''
参数width
、height
的值为整数的时候表示以像素为单位的尺寸,值为小数的时候表示图形窗口的款或高与屏幕的而比例。
参数startx
、starty
的取值可以为整数或None(默认值),当取值为整数的时候,分别表示图形窗口左侧、顶部与屏幕左侧、顶部的距离(单位为像素);当取值为None时,窗口位于屏幕中心。
使用turtle模块实现图形化程序时,setup()
不是必须的,如果程序中尾调用setup()函数,程序执行时会产生一个默认窗口。
<注意>
使用turtle库在程序中绘制图形后应调用turtle库中的done()
函数声明绘制结束,此时turtle的主循环会终止,但直到用户手动关闭图形窗口时,图形窗口才会退出。
画笔(pen)的设置包括画笔属性(如尺寸、颜色)和画笔状态。turtle模块中定义了设置画笔属性和状态的函数。
turtle模块中用于设置画笔的属性有画笔尺寸、画笔移动速度和画笔颜色
turtle.pensize() #设置画笔尺寸
turtle.speed() #设置画笔的移动速度
turtle.color() #设置画笔颜色
pensize()
函数可以设置画笔绘制出的线条的宽度。若参数为空,则pensize()
函数返回画笔当前的尺寸。width()
函数是pensize()
函数的别名,它们具有相同的功能。
speed()
函数的参数speed用于设置画笔移动速度,其取值范围为[1,10]内的整数,数字越大,速度越快。
color()
函数的参数color用于设置画笔的颜色,该参数的值有四种表示方法。
①字符串:
如‘red’,yellow’
turtle.color('red')
②RGB颜色的整数值
每个值的取值范围为[0,255]
turtle.color(255,255,255)
turtle.color(0,0,0)
③RGB颜色的小数值
每个值的取值范围为[0,1]
turtle.color(0.65,0.7,0.9)
turtle.color(1,1,1)
④十六进制颜色
如‘#FFFFFF’,‘BFA’
turtle.color('FFFFFF')
turtle.color('A22A2A')
turtle中的画笔分为提起(up)和放下(down)2种状态。只有画笔为放下状态的时候,移动画笔,画笔上才会留下痕迹。turtle种的画笔默认为放下状态。
import turtle as t
t.srtup(500,500)
t.pendown() #放下画笔
t.penup() #提起画笔
t.done()
penup()
的别名为pu()
,pendown()
的别名为pd()
画笔在画布上,它可以向前、向后、向左、向右移动,画笔留下的痕迹,路径即为所绘制的图形。
为了使图形出现在理想的位置,需要了解turtle的坐标系。turtle的坐标体系以窗口中心为原点,以右方为默认朝向,以原点右侧为x轴正方向,原点上方为y轴正方向。
turtle模块种画笔控制函数主要分为移动控制、角度控制、图形绘制和图形填充3种。
移动控制函数控制画笔向前、向后移动。
turtle.forward(dustance) #向前移动
turtle.backward(distance) #向后移动
goto(x,y=None) #移动到指定位置
函数forward()
和backward()
的参数distance用于指定画笔移动的距离,单位为像素;函数goto()
用于将画笔移动到画布上指定位置,该函数可以使用参数x,y分别接收表示目标位置的横坐标和纵坐标,也可以仅接收一个表示坐标向量的参数。
角度控制函数可更改画笔朝向
turtle.right(degree) #向右转动
turtle.left(degree) #向左转动
seth(angle) #转动到某个方向
函数right()
和left()
的参数degree用于指定画笔向右和向左转动的角度。函数seth()
的参数angle用于设置画笔在坐标系种的角度,angle以x轴正向为0°,以逆时针方向为正方向。
import turtle as t
t.forward(200)
t.seth(-90)
t.foeward(200)
t.right(90)
t.forward(200)
t.left(-90)
t.forward(200)
t.right(90)
t.done()
fd()
是forward()
的别称,bd()
是backward()
的别称。
turtle模块种提供了circle()
函数,使用该函数可绘制以当前坐标为圆心,以指定像素值为半径的圆和弧。
turtle.circle(radius,extent=None,steps=None)
'''
radius用于设置半径
extent用于设置弧的角度
steps用于设置步长,
'''
参数steps用于设置步长。若steps为默认值None,步长将自动计算;若给出步长,circle()
函数可用于绘制正多边形
turtle.circle(100,steps = 3) #可以画一个边长为100的等边三角形
turtle模块种可通过fillcolor()
函数来设置填充颜色,使用begin_fill()
函数和end_fill()
函数填充颜色,实现 “面” 的绘制。
#以绘制一个被红色填充的圆为例
import turtle as t
t.fillcolor('red') #设置填充颜色
t.begin_fill() #开始填充
t.circle(20)
t.end_fill() #结束填充
t.done()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。