当前位置:首页 » 《随便一记》 » 正文

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

16 人参与  2021年11月05日 09:23  分类 : 《随便一记》  评论

点击全文阅读


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

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

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

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

作为一名小程序猿,今年,我准备用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()


  • 效果如下:
    在这里插入图片描述
  • 推荐音乐:
    《但愿人长久》邓丽君版
    《但愿人长久》王菲版

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


点击全文阅读


本文链接:http://zhangshiyu.com/post/30491.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1