编程学习网 > 编程语言 > Python > 用Python生成中秋贺卡,带上名字的那种!
2026
09-26

用Python生成中秋贺卡,带上名字的那种!


中秋想给家人、朋友、客户发张贺卡,去网上找图库模板,要么收费要么带水印,发出去"撞款"概率高。自己用 Python 画一张也不复杂:深蓝夜空 + 一轮圆月 + 祝福文字,名字自动填进去,每张都不一样。

下面是 Pillow(PIL)从零画一张贺卡的完整代码。

01 · CHAPTER ONE

装库

Pillow 是 Python 处理图片最常用的库:

bash

pip install Pillow

02 · CHAPTER TWO

完整代码:一张卡,自动填名字

python

from PIL import Image, ImageDraw, ImageFont

def make_card(name="你", output="zhongqiu_card.png"):

    """生成一张中秋贺卡,把 name 填进祝福语里。"""

    width, height = 800, 1000

    img = Image.new("RGB", (width, height), "#1a2a4a")  # 深蓝夜空

    draw = ImageDraw.Draw(img)

 

    # 画一轮月亮(椭圆就是圆)

    draw.ellipse((300, 180, 500, 380), fill="#fff7d6")

 

    # 字体:Windows 用微软雅黑;Mac 换 "/System/Library/Fonts/PingFang.ttc"

    try:

        font_big = ImageFont.truetype("C:/Windows/Fonts/msyh.ttc", 52)

        font_mid = ImageFont.truetype("C:/Windows/Fonts/msyh.ttc", 34)

    except Exception:

        font_big = ImageFont.load_default()

        font_mid = ImageFont.load_default()

 

    # 祝福文字(anchor="mm" 表示文字以指定点为中心居中)

    draw.text((400, 520), "中秋快乐", fill="#ffe9a8", font=font_big, anchor="mm")

    draw.text((400, 620), f"{name} 祝您:阖家团圆,万事顺意", fill="#ffffff", font=font_mid, anchor="mm")

 

    img.save(output)

    print(f"贺卡已生成:{output}")

 

# 给不同的人各生成一张

for person in ["爸爸", "妈妈", "老朋友", "客户王总"]:

    make_card(person, f"贺卡_{person}.png")

03 · CHAPTER THREE

这几行分别干了什么

画月亮:draw.ellipse((300, 180, 500, 380), ...) 传的是"左上角和右下角两个点"构成的矩形,Pillow 在这个矩形内画内切椭圆。当矩形是正方形(宽=高)时,画出来就是正圆——所以参数只要保证宽=高,就一定是圆月:

python

draw.ellipse((300, 180, 500, 380), fill="#fff7d6")

中文字体(最容易踩的坑):直接 draw.text 写中文,如果不指定中文字体,会显示成一堆方框(□□□)。必须用 ImageFont.truetype("字体路径", 字号) 加载中文字体。

Windows 上常见的是 C:/Windows/Fonts/msyh.ttc(微软雅黑);Mac 上是 /System/Library/Fonts/PingFang.ttc。不同机器路径不一样,所以用 try...except 兜底,找不到就退回默认字体(丑一点,但不会报错)。

文字居中:anchor="mm" 表示以指定的 (400, 520) 这个点作为文字的中心,这样文字不管多长都能居中,不用自己手动算偏移。

批量生成:把名字放进列表,一个循环就生成好几张——给爸妈、给朋友、给客户,每张都带着对方的名字。

以上就是“用Python生成中秋贺卡,带上名字的那种!”的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。 

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取