使用python绘制月饼,慢慢等待将至的中秋节

举报
爱打瞌睡的CV君 发表于 2022/07/07 23:28:06 2022/07/07
【摘要】 水调歌头·明月几时有 【作者】苏轼 【朝代】宋 丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。 明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影...

水调歌头·明月几时有
【作者】苏轼 【朝代】宋
丙辰中秋,欢饮达旦,大醉,作此篇,兼怀子由。

明月几时有?把酒问青天。不知天上宫阙,今夕是何年。我欲乘风归去,又恐琼楼玉宇,高处不胜寒。起舞弄清影,何似在人间。

转朱阁,低绮户,照无眠。不应有恨,何事长向别时圆?人有悲欢离合,月有阴晴圆缺,此事古难全。但愿人长久,千里共婵娟。

很快就要到农历八月十五了,一年一度的中秋团圆节。中秋节要吃月饼,随着生活水平的提高,月饼的种类也越来越多,经典的五仁月饼、刺激的椒盐月饼、多样的水果月饼、迷人的豆沙月饼还有肉松月饼等等。

作为一名小程序猿,今年,我准备用python制作一个月饼🥮。

  • 代码如下:
    参数可以自己修改调整
# -*- coding: UTF-8 -*-
"""
# @Time: 2021/9/14 21:13
# @Author: 远方的星
# @CSDN: https://blog.csdn.net/qq_44921056
"""
import turtle as turtle
import math

turtle.hideturtle()
turtle.speed(10)


class MoonCake(object):
    def __init__(self, name: str):
        self.name = name

    #  画月饼的花边
    def external_pattern(self, r: int, n: int):  # r为外部花边的圆的半径;n为外部花边的个数
        turtle.penup()
        turtle.goto(0, -r)
        turtle.pendown()

        round_r = math.sin(math.pi / n) * r  # 月饼花圈的半径

        for i in range(n):
            turtle.penup()  # 画笔抬起
            turtle.home()  # 恢复为初始位置
            turtle.seth((360/n) * i)  # 改变画笔方向,但不前进
            turtle.fd(r)
            turtle.left((360/n) * 0.5)  # 画笔左转一定的角度
            turtle.pendown()
            turtle.color('#F0BE7C')  # 设置颜色
            turtle.begin_fill()  # 开始填充颜色
            turtle.circle(round_r, 180)
            turtle.end_fill()

    # 画内部纹路图案
    def internal_pattern(self):
        turtle.color('#F5E16F')
        turtle.goto(0, -180)
        for _ in range(8):
            turtle.begin_fill()
            turtle.circle(60, 120)
            turtle.left(180)
            turtle.circle(60, 120)
            turtle.end_fill()

    # 画圆的子函数,下文需要调用
    def draw_circle(self, r: int, pensize: int, color1: str, color2: str):
        turtle.penup()
        turtle.goto(0, -r)
        turtle.seth(0)
        turtle.pendown()
        turtle.pensize(pensize, )
        turtle.color(color1, color2)
        turtle.begin_fill()
        turtle.circle(r)
        turtle.end_fill()

    # 画月饼内部的框架的子函数,下文需要调用
    def draw(self):
        turtle.title("提前祝您中秋快乐!!!")  # 画板窗口的标题
        self.external_pattern(200, 12)  # 月饼的外花边
        self.draw_circle(200, 10, '#F0BE7C', '#F0BE7C')  # 画上大圆圈
        self.draw_circle(180, 10, '#F8CD32', '#FBA92D')  # 画上小圆圈
        self.internal_pattern()
        self.write_text(-105, -60)
        turtle.done()

    # 填写月饼中间的文本
    def write_text(self, x: float, y: float):
        turtle.penup()
        turtle.goto(x, y)
        turtle.pendown()
        turtle.color('Gold')
        turtle.write(self.name, font=("华文隶书", 80, "bold"))  # 写上文本


if __name__ == '__main__':
    MoonCake('团圆').draw()


提前祝大家中秋节团团圆圆,美美满满!

文章来源: luckystar.blog.csdn.net,作者:爱打瞌睡的CV君,版权归原作者所有,如需转载,请联系作者。

原文链接:luckystar.blog.csdn.net/article/details/120298473

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。