10. 画笔设置
1. 画笔设置
海龟库绘制时的线条是可以设置的,例如画笔的颜色,方法名如下:
方法名 | 方法说明 |
---|---|
.pencolor(‘red’) | 设置画笔颜色,例如红色 |
import turtle #导入海龟图库
turtle.shape('turtle') #召唤海龟
turtle.pencolor("red") #画笔颜色
turtle.circle(100) #半径100的圆
turtle.done() #结束画画
除此之外,我们还可以设置画笔的粗细,方法如下:
方法名 | 方法说明 |
---|---|
.pensize(s) | 设置画笔粗细,最小值1 |
import turtle #导入海龟图库
turtle.shape('turtle') #召唤海龟
turtle.pencolor("red") #画笔颜色
turtle.pensize(20) #画笔粗细
turtle.circle(100) #半径100的圆
turtle.done() #结束画画
2. 填充设置
如何在绘制好的封闭区域进行填充颜色呢?方法如下:
方法名 | 方法说明 |
---|---|
.fillcolor(‘red’) | 设置填充的颜色 ,例如红色 |
.begin_fill() | 在需要填充的封闭区域前设置 |
.end_fill() | 在需要填充的封闭区域后设置 |
import turtle
turtle.shape('turtle')
turtle.begin_fill() #开始填充
turtle.circle(100) #画圆
turtle.fillcolor("orange") #填充颜色:橙色
turtle.end_fill() #结束填充
turtle.done()
3. 画布设置
画布:绘图的区域,我们可以设置它的大小和初始位置。
方法名 | 方法说明 |
---|---|
.screensize(width,height,bg) | 设置画布的大小【默认大小为(400,300)】 |
上面参数 | 参数说明 |
width | 宽 |
height | 高 |
bg | 背景颜色 |
import turtle
turtle.screensize(200,200,'green') #设置画布大小
结果:
11. 抬笔和落笔
1. 坐标的概念
默认情况下,海龟绘图在屏幕原点(0,0)位置开始。我们可以设置对应坐标让其在指定位置绘制.
方法名 | 说明 |
---|---|
.goto(x, y) | 到达指定坐标(x,y) |
import turtle as t #导入turtle海龟库,并给turtle起别名,叫t
t.circle(100) #半径100的圆
t.goto(0, 50) #将画笔在y轴上移50的位置
t.circle(50) # 半径50的圆
t.done() #结束画画
- 虽然,我们绘制出了同心圆,但暴露了一个问题:当绘制第二个圆时,笔头划过路过的区域,并没有抬笔,此时,我们需要通过抬笔和落笔来解决。
2. 抬笔与落笔
每次当笔头要位移绘制时,我们需要将笔头抬起,然后再绘制处再落笔即可。
方法名 | 说明 |
---|---|
.penup() | 设置画笔抬起,此时无法绘制内容 |
.pendown() | 设置画笔落下,此时可以绘制内容 |
import turtle as t #导入turtle海龟库,并给turtle起别名,叫t
t.circle(100) #半径100的圆
t.penup() #抬笔
t.goto(0, 50) #将画笔在y轴上移50的位置
t.pendown() #落笔
t.circle(50) # 半径50的圆
t.done() #结束画画
画图案例练习:
- 案例演练1:
如图:
分析:圆的半径:200/2 = 100,参考代码如下:
import turtle as t
t.circle(100)
t.penup() #抬笔
t.goto(200, 0) #移动到指定坐标位置
t.pendown() #落笔
t.circle(100)
t.done()
案例演练2:美国盾牌
如图:
分析:由外到里,逐个画出(6步),如下:
1.画最外层的红圈
具体做法:画一个半径200的圆,起点坐标(0, -200),画笔颜色:红色;填充色为:红色
2.白色圆圈
具体做法:画一个半径150的圆,起点坐标 (0, -150),画笔颜色:白色;填充色为:白色
3.里面的红圈
具体做法:画一个半径100的圆,起点坐标(0, -100),画笔颜色:红色;填充色为:红色
4.蓝色圈
具体做法:画一个半径50的圆,起点坐标(0, -50),画笔颜色:蓝色;填充色为:蓝色
5.五角星
具体做法:画一个步骤为80的五角星,起点坐标 (-40, 10),画笔颜色:白色;填充色为:白色
6.收尾工作
具体做法:
(1)隐藏箭头 hideturtle
(2)结束画画 done
import turtle as t# 一、最外层的红圈
t.penup()
t.goto(0, -200) #移动到指定坐标
t.pendown()
t.pencolor('red') # 画笔颜色:红色
t.fillcolor('red') # 填充为红色
t.begin_fill() # 开始填充
t.circle(200)
t.end_fill() # 结束填充# 二、白色圈
t.penup()
t.goto(0, -150)
t.pendown()
t.pencolor('white')
t.fillcolor('white')
t.begin_fill()
t.circle(150)
t.end_fill() # 三、里面的红圈
t.penup()
t.goto(0, -100)
t.pendown()
t.pencolor('red')
t.fillcolor('red')
t.begin_fill()
t.circle(100)
t.end_fill()# 四、蓝色圈
t.penup()
t.goto(0, -50)
t.pendown()
t.pencolor('blue')
t.fillcolor('blue')
t.begin_fill()
t.circle(50)
t.end_fill()# 五、五角星
t.penup()
t.goto(-40, 10)
t.pendown()
t.pencolor('white')
t.fillcolor('white')
t.begin_fill()
t.forward(80) # 第一条边
t.right(144)
t.forward(80) # 第二条边
t.right(144)
t.forward(80) # 第三条边
t.right(144)
t.forward(80) # 第四条边
t.right(144)
t.forward(80) # 第五条边
t.end_fill()# 六、收尾工作
t.hideturtle() # 隐藏箭头
t.done() #结束画画
12. 画点
方法名 | 说明 |
---|---|
.dot(r,c) | 绘制一个指定直径和颜色的圆点 |
上面参数 | 参数说明 |
r | 直径 |
c(可省略) | 颜色 |
举例:
import turtle as t
t.dot(400, 'green') # 直径400,绿色圆点
t.hideturtle() # 隐藏箭头
t.done()
结果:
1. 美国盾牌(用dot实现)
分析:由外到里,逐个画出(3步),如下:
1.画出所有圆圈
具体做法:
(1)先画最外圈的圆:直径400,红色圆点
(1)第二个圆:直径300,白色圆点
(1)第三个圆:直径200,红色圆点
(1)最小的圆:直径100,蓝色圆点
2.五角星
具体做法:画一个步骤为80的五角星,起点坐标 (-40, 10),画笔颜色:白色;填充色为:白色
3.收尾工作
具体做法:
(1)隐藏箭头 hideturtle
(2)结束画画 done
import turtle as t# 一、四个圆圈
t.dot(400, 'red') # 直径400,红色圆点
t.dot(300, 'white') # 直径300,白色圆点
t.dot(200, 'red') # 直径200,红色圆点
t.dot(100, 'blue') # 直径100,蓝色圆点# 二、五角星
t.penup()
t.goto(-40, 10)
t.pendown()
t.pencolor('white')
t.fillcolor('white')
t.begin_fill()
t.forward(80) # 第一条边
t.right(144)
t.forward(80) # 第二条边
t.right(144)
t.forward(80) # 第三条边
t.right(144)
t.forward(80) # 第四条边
t.right(144)
t.forward(80) # 第五条边
t.end_fill()# 三、收尾工作
t.hideturtle() # 隐藏箭头
t.done() # 结束画画
结果:
2. 画人脸
import turtle as t#圆脸
t.penup()
t.goto(0,-200)
t.pendown()
t.circle(200)#左眼
t.penup()
t.goto(-100,50)
t.pendown()
t.dot(40,'blue')#右眼
t.penup()
t.goto(100,50)
t.pendown()
t.dot(40,'blue')#鼻子
t.penup()
t.goto(0,50)
t.pendown()
t.circle(-50,steps=3)#画嘴
t.penup()
t.goto(-150,-70)
t.pendown()
t.goto(0,-170)
t.goto(150,-70)# 结束画画
t.done()