Python新年贺卡生成器:基于Pillow与PyQt5的快速实现

拾柒
拾柒
发布时间:2026-10-15| 3人浏览过
原创

本文介绍如何使用Python编写一个新年贺卡生成器。通过结合Pillow进行图像文字绘制,并利用PyQt5构建图形用户界面,实现背景选择、字体配置及祝福语自动排版。项目依赖Python 3.6.4及os、sys、io等标准库,适合希望快速制作个性化节日贺卡的开发者参考。

前言

值此农历新年临近之际,提前向各位读者致以新年的祝福。

当前疫情防控形势依然复杂,建议公众在外出时严格做好个人防护措施,非必要不聚集、不出门。

面对网络信息繁杂的情况,建议保持理性判断,以官方发布的信息为准,避免传播未经核实的内容,共同维护良好的网络环境。

回归技术主题,本文分享一个基于Python开发的新年贺卡生成工具,旨在帮助读者快速制作个性化的节日祝福图片。

接下来将详细介绍该工具的开发流程与实现细节。

开发工具

本项目基于Python 3.6.4版本开发。

项目主要依赖以下Python模块:

os模块,用于处理文件系统路径操作。

io模块,用于处理输入输出流及内存缓冲区。

sys模块,用于访问与Python解释器交互的系统相关参数。

pillow模块,用于执行图像打开、绘制及保存操作。

pyqt5模块,用于构建图形用户界面(GUI)。

此外,还使用了Python自带的其他基础模块以支持程序运行。

环境搭建

首先确保已安装Python并正确配置环境变量,随后通过pip命令安装上述所需模块即可完成环境配置。

贺卡生成的核心逻辑较为直观:首先选取喜庆风格的背景图片,随后在图片指定位置添加文字内容。

利用pillow模块读取背景图片,并在其上绘制文字信息。

'''生成贺卡'''
def generate(self):
    # 检查路径是否存在
    content_path = self.content_edit.text()
    bg_path = self.bg_edit.text()
    font_path = self.font_edit.text()
    font_color = self.font_color_combobox.currentText()
    if (not self.checkFilepath(content_path)) or (not self.checkFilepath(bg_path)) or (not self.checkFilepath(font_path)):
        self.card_image = None
        return False
    # 写贺卡
    contents = open(content_path, encoding='utf-8').read().split('\n')
    font_card = ImageFont.truetype(font_path, self.font_size)
    image = Image.open(bg_path).convert('RGB')
    draw = ImageDraw.Draw(image)
    draw.text((180, 30), contents[0], font=font_card, fill=font_color)
    for idx, content in enumerate(contents[1: -1]):
        draw.text((220, 40+(idx+1)*40), content, font=font_card, fill=font_color)
    draw.text((180, 40+(idx+2)*40+10), contents[-1], font=font_card, fill=font_color)
    # 显示
    fp = io.BytesIO()
    image.save(fp, 'BMP')
    qtimg = QtGui.QImage()
    qtimg.loadFromData(fp.getvalue(), 'BMP')
    qtimg_pixmap = QtGui.QPixmap.fromImage(qtimg)
    self.show_label.setPixmap(qtimg_pixmap)
    self.card_image = image
复制代码

为了提升用户体验,使用pyqt5模块封装图形界面,实现可视化操作。

祝福语内容通过外部文本文件指定,程序读取该文件内容并写入图片。

总结

本文介绍了使用Python制作新年贺卡的基本方法。如需了解更多Python相关技术内容,可查阅本站历史文章或关注后续更新。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。