马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 鱼C-小师妹 于 2021-9-29 22:03 编辑
在线演示视频:
假期马上要来了!
哈哈哈哈哈哈哈,小师妹已经无心录制小讲堂了,你们尽管催,我要放假了!
哈哈哈哈哈哈哈,敬岗爱业如小师妹,怎么可能鸽呢!
先回复/弹幕调查下,你们的国庆怎么度过呢?
言归正传,既然是祖国的生日,那就快速用 Python 写个国旗来聊表激动的心情~
灵感来自 Web特效宝典中红旗布局(传送门):
我们领悟其精髓后,用 Python 来复刻下吧。
没错,既然是绘图,肯定要用到 turtle 模块啦:
既然是祖国生日,那么落笔速度就用 6 图个吉利:
先来绘制红色背景,没有革命先辈的流血牺牲,就没有新中国的成立,也没有我们今天的幸福生活,这盛世,如您们所愿。
红旗尺寸分为以下 9 种:
尺度 | 一号 | 二号 | 三号 | 四号 | 五号 | 六号 | 七号 | 八号 | 九号 | 长高(厘米) | 288×192 | 240×160 | 192×128 | 144×96 | 96×64 | 66×44 | 45×30 | 30×20 | 21×14 |
可以看出比例就是 3:2,因为 turtle 中是像素,所以原点我们选在(-200,200),尺寸就用 480*360。
色号是:
红色(238,28,37)
黄色(255,255,0)
那么我们绘制背景的代码:
turtle.title('五星红旗')
turtle.colormode(255)
turtle.up()
turtle.goto(-200,200)
turtle.down()
turtle.begin_fill()
turtle.fillcolor(238,28,37)
turtle.pencolor('red')
for _ in range(2):
turtle.forward(480)
turtle.right(90)
turtle.forward(320)
turtle.right(90)
turtle.end_fill()
turtle.colormode(255) 必须要指定,否则无法用 RGB 色号。
绘制原理这里就不讲了,turtle 很容易,大家可以去看小甲鱼老师的文字教程:Turtle 模块 API 文档
背景有了,我们就来绘制五角星吧。
大五角星象征着党,四颗小五角星象征着工人阶级、农民阶级、城市小资产阶级和民族资产阶级。
五颗星的排列图形象征我国领土海棠的形状。
大星星:
turtle.fillcolor(255,255,0)
turtle.pencolor(255,255,0)
turtle.up()
turtle.goto(-170,145)
turtle.down()
turtle.begin_fill()
for x in range(5):
turtle.forward(50)
turtle.right(144)
turtle.end_fill()
然后是 4 颗小星星,这里换个写法,结合 zip() 方法:
small = [-15, 30, 5, -20]
gotos = [(-100,180), (-85,150), (-85,120), (-100,100)]
for angle, goto_val in zip(small,gotos):
turtle.up()
turtle.goto(goto_val[0], goto_val[1])
turtle.setheading(angle)
turtle.down()
turtle.begin_fill()
for i in range(5):
turtle.forward(20)
turtle.right(144)
turtle.end_fill()
搞定啦,看效果:
源码:
flag.py.zip
(1.03 KB, 下载次数: 19, 售价: 8 鱼币)
好啦,最后小师妹想说:
也祝大家国庆愉快~~
拜~~
|