当前位置:脚本大全 > > 正文

python画图教程(详解用Python练习画个美队盾牌)

时间:2021-11-01 10:33:30类别:脚本大全

python画图教程

详解用Python练习画个美队盾牌

python画图教程(详解用Python练习画个美队盾牌)

0 环境

python版本:3.6.6

操作系统:mac os mojave 10.14.2

1 引言

最近我媳妇每天晚上吃饭时候也拿手机看,上厕所也在看。

看着看着还会笑?wtf?你在干嘛呢?

没错,她在看美队……

这男人比我帅?……

比我有钱?……

还是比我有腔调?……

答案很明显,我相信你们的眼睛都是雪亮的。

那问题来了,作为一个男人,怎么能忍?虽然是个明星,虽然是假的,虽然已经挽回不了败局了……那我就送个美队的盾牌给你吧……

这篇文章不是turtle的入门篇,所以关于基本的画笔使用小胖不在这篇里赘述了。有兴趣的可以留言,我会根据你们的反馈来写一篇或者一个系列。

2 实战

先来看一个效果图:

python画图教程(详解用Python练习画个美队盾牌)

用过turtle的都知道,画笔是需要抬手和落笔的。这一点一定要理解,因为计算机是很死板的,你的每一个动作都必须告诉他,包括gc。

所以你的画笔一旦落下,经过的每一处都会留下字迹。如果希望隔开一段距离就需要经过「抬笔」->「移动画笔」->「落笔」。

所以我们先把这个动作封装成一个函数:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • def setpen(x, y):
  •   # 抬笔
  •   t.penup()
  •   # 移动画笔到(x, y)
  •   t.goto(x, y)
  •   # 落笔
  •   t.pendown()
  •   t.setheading(0)
  •  接下来就来画盾牌。盾牌的话,注意观察美队盾牌,颜色是「红」->「白」->「红」->「蓝」。

    这里有一个技巧,就是后面填充的圆圈背景色是可以覆盖之前画的圆圈的背景色。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • def circle(x, y, r, color):
  •   # 为了保证画出的圆够圆,所以我们把圆的边设置的多一些
  •   n = 36
  •   angle = 360 / n
  •   pi = 3.1415926
  •   # 周长
  •   c = 2 * pi * r
  •   # 每条边的长度
  •   l = c / n
  •   # 起始位置
  •   start_x = x - l / 2
  •   start_y = y + r
  •   # 移动画笔
  •   setpen(start_x, start_y)
  •   # 选择画笔颜色
  •   t.pencolor(color)
  •   # 选择背景色
  •   t.fillcolor(color)
  •   # 填充
  •   t.begin_fill()
  •   for i in range(n):
  •     t.forward(l)
  •     t.right(angle)
  •   t.end_fill()
  • 接下来就是画里面那个白色的五角星了,这里就不注释了,因为和画圈的过程差不多。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • def five_star(l):
  •   setpen(0, 0)
  •   t.setheading(162)
  •   t.forward(150)
  •   t.setheading(0)
  •   t.fillcolor('whitesmoke')
  •   t.begin_fill()
  •   t.hideturtle()
  •   t.penup()
  •   for i in range(5):
  •     t.forward(l)
  •     t.right(144)
  •   t.end_fill()
  • 主函数:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • def sheild():
  •   circle(0, 0, 300, 'red')
  •   circle(0, 0, 250, 'white')
  •   circle(0, 0, 200, 'red')
  •   circle(0, 0, 150, 'blue')
  •   five_star(284)
  •  
  • if __name__ == '__main__':
  •   sheild()
  •   # 结束乌龟图
  •   turtle.done()
  • 以上所述是小编给大家介绍的用python练习画个美队盾牌详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!

    上一篇下一篇

    猜您喜欢

    热门推荐