【Python图形绘制】使用turtle库实现美国队长盾牌

1. 引入 turtle 库

import turtle

turtle 库属于 Python 中的标准库,所以使用前不需要安装,直接进行引入即可使用

2. 绘制同心圆

#红色的圆,外圈的圆
t.color("red","red")
t.begin_fill()
t.circle(150,360)
t.end_fill()

#黄色
t.pu()
#回到红色圆的圆心
t.left(90)  #向左旋转90°
t.fd(150) #前进150px
#画笔起始位置,为了达到两个圆的圆心重叠
t.right(90)
t.fd(100)
t.left(90)
t.color("yellow","yellow")
t.begin_fill()
t.circle(100,360)
t.end_fill()

# 绿色
t.pu()
t.left(90)
t.fd(50)
# 回到了红色圆(黄色圆)的圆心
# left(90),fd(100)
#画笔起始位置,为了达到两个圆的圆心重叠
# right(180),fd(50)
t.right(90) #↑
t.color("green","green")
t.begin_fill()
t.circle(50,360)
t.end_fill()

t.done()
# t.mainloop()

运行结果:
【Python图形绘制】使用turtle库实现美国队长盾牌_第1张图片

3. 绘制五角星

turtle.pensize(5)  #画笔大小
turtle.color("red","yellow")

turtle.begin_fill()  #填充颜色开始的地方
for _ in range(5):
    turtle.forward(200)  # 前进200px,200像素
    turtle.right(144)  #画笔方向向右原地旋转144°
turtle.end_fill()   #填充颜色结束的地方

turtle.hideturtle()  #隐藏画笔的turtle形状
# turtle.showturtle()  #显示画笔的turtle形状

turtle.mainloop()   #保持窗体的运行,程序结束后不自动关闭窗体
# turtle.done()

运行结果:
【Python图形绘制】使用turtle库实现美国队长盾牌_第2张图片

4. 综合代码

import turtle

# 定义窗体(画布)大小及位置(width,height,startx,starty)
# turtle.setup(600, 400, 300, 300)
# 画布设置
turtle.screensize(800,600)
turtle.bgcolor("black")
# 画笔速度
turtle.speed(10) #取值范围0~10数值越大,速度越快
# 画笔大小
# turtle.pensize(30)

# 外圈红圈
# 将画笔角度调为水平,右移30px,再将画笔角度调为画圆角度
turtle.pu() #penup
turtle.back(150) # 向后移动150px
turtle.pd()  #pendown
turtle.setheading(-100)
# 开始画圆
turtle.color('red','red')
turtle.begin_fill()  #填充颜色开始位置
turtle.circle(150,360) # 画笔角度
turtle.end_fill() #填充颜色结束位置

# 白色
turtle.pu()
# 将画笔角度调为水平,右移30px,再将画笔角度调为画圆角度
turtle.setheading(0)
turtle.fd(30) # 向前移动30px
turtle.setheading(-100)
turtle.pd()
# 开始画圆
turtle.color('white','white')
turtle.begin_fill()
turtle.circle(120,360) # 画笔角度
turtle.end_fill()

# 红色
turtle.pu()
# 将画笔角度调为水平,右移30px,再将画笔角度调为画圆角度
turtle.setheading(0)
turtle.fd(30) # 向前移动30px
turtle.setheading(-100)
turtle.pd()
# 开始画圆
turtle.color('red','red') # (画笔颜色,填充颜色)
turtle.begin_fill() # 填充内容(begin_fill(),end_fill())成对出现
turtle.circle(90,360) # 画笔角度
turtle.end_fill()

# 蓝色
turtle.pu()
# 将画笔角度调为水平,右移30px,再将画笔角度调为画圆角度
turtle.setheading(0)
turtle.fd(30) # 向前移动30px
turtle.setheading(-100)
turtle.pd()
# 开始画圆
turtle.color('blue','blue')
turtle.begin_fill()
turtle.circle(60,360) # 画笔角度
turtle.end_fill()

# 五角星
turtle.pu()
# 将画笔角度调为水平,右移30px,再将画笔角度调为画圆角度
turtle.setheading(0)
turtle.fd(60)
turtle.setheading(90)
turtle.fd(50)
turtle.pd()
# 开始画图
turtle.color('white','white')
turtle.begin_fill()
turtle.setheading(-72)
turtle.fd(110)
turtle.seth(-216)
turtle.fd(110)
turtle.seth(0)
turtle.fd(110)
turtle.seth(-144)
turtle.fd(110)
turtle.seth(72)
turtle.fd(110)
turtle.seth(0)
turtle.end_fill()

# 输出文字
turtle.pu()
turtle.right(90)
turtle.fd(300)
turtle.right(90)
turtle.fd(70)
turtle.write("Captain America",font=(18))
turtle.hideturtle()

# 保持窗体运行,不关闭
turtle.done()

运行结果:
【Python图形绘制】使用turtle库实现美国队长盾牌_第3张图片



turtle 图形绘制相关案例推荐


这篇博文里面有很多好玩好看的案例,感兴趣的可以看一看(不是本人的,只是单纯推荐可以去看看)

https://blog.csdn.net/July__July/article/details/99543992

你可能感兴趣的:(Python基础,python,canvas)