一年一度的中秋節又要來了,作為程式員的我們當然要畫“餅”充饑了,
本文二哥帶領大家用Python畫幾個月餅~
??溫馨提示:作業再忙,別忘了吃餅~??
??提前祝大家中秋節快樂??
一、準備
- Python3
- turtle模塊
- 勤勞的小手
二、構思與繪圖
找一塊傳統月餅為例:

繪制外表
想要畫月餅,第一個我們能想到的就是圓形的外表,但是月餅的圓通常比較特殊,每個位置會有一個凸起的弧度$%&%$…(不知道如何形容)總結一下就是像花一樣的形狀,
代碼如下
代碼中的回圈用于繪制小的弧線,最侄訓線連接成花的形狀,并且涂上顏色,
from turtle import *
# 隱藏海龜
hideturtle()
# 顏色模式
colormode(255)
pensize(2)
pencolor(0, 0, 0)
fillcolor(231, 162, 63)
begin_fill()
for i in range(12):
if i == 5:
p = pos()
circle(30, 120)
right(90)
end_fill()
mainloop()
實作結果如下

繪制陰影
為了讓月餅顯得立體一些,我們需要畫出陰影的效果,對于陰影的實作,我們將月餅外表水平移動后換個顏色即可,
代碼如下
整體思路和上述相同,我們更改顏色并將表面覆寫于陰影上即可,
# 隱藏畫筆移動
penup()
fd(20)
pendown()
fillcolor(255, 166, 16)
begin_fill()
for i in range(12):
circle(30, 120)
right(90)
end_fill()
結果如下:

繪制文字
光繪制外表,必然顯得空嘮嘮的,因此我們在月餅的中間添加四個文字來體現口味即可,
代碼如下
我們直接使用turtle中的write功能進行文字繪制即可,
pencolor(204, 22, 58)
left(90)
fd(140)
left(90)
fd(140)
left(90)
fd(72)
p = pos()
write('伍仁', font=('Arial', 70, 'normal'))
fd(70)
write('月餅', font=('Arial', 70, 'normal'))
left(90)
fd(140)
結果如下

這樣我們的月餅就做好了,
三、代碼完善
不同的小伙伴想要不同顏色不同口味的月餅,因此二哥將代碼改造成如下可以自定義的形式,
完整代碼如下
from turtle import *
# 隱藏海龜
hideturtle()
# 顏色模式
colormode(255)
'''
函式說明:
pensize:畫筆粗細
pencolor:畫筆顏色
fillcolor:填充顏色
begin_fill:開始填充
fd:前進
circle:畫圓
right:右轉
end_fill():結束填充
'''
def MoonCake(bgcolor, mkcolor, wdcolor, words):
'''
引數說明:
bgcolor: 背景顏色
mkcolor: 月餅顏色
wdcolor: 文字顏色
words: 文字(4個字)
'''
pensize(2)
pencolor(0, 0, 0)
fillcolor(bgcolor)
begin_fill()
for i in range(12):
if i == 5:
p = pos()
circle(30, 120)
right(90)
end_fill()
penup()
fd(20)
pendown()
fillcolor(mkcolor)
begin_fill()
for i in range(12):
circle(30, 120)
right(90)
end_fill()
pencolor(wdcolor)
left(90)
fd(140)
left(90)
fd(140)
left(90)
fd(72)
p = pos()
wd1 = words[0:2]
wd2 = words[2:4]
write(wd1, font=('Arial', 70, 'normal'))
fd(70)
write(wd2, font=('Arial', 70, 'normal'))
left(90)
fd(140)
# MoonCake((231, 162, 63), (255, 166, 16), (204, 22, 58), '五仁月餅')
MoonCake((97, 154, 195),(186, 204, 217) ,(17, 101, 154), '冰皮月餅')
mainloop()

| ?? 再一次祝大家中秋節快樂?? |
| ?? 創作不易,點個贊吧~?? |
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/300481.html
標籤:python
