我的编程空间,编程开发者的网络收藏夹
学习永远不晚

用Python写个新年贺卡生成器

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

用Python写个新年贺卡生成器

前言

离过年还有十多天,在这里提前祝各位小伙伴新年快乐呀~

先说句题外话:疫情还是比较严峻,各位小伙伴要是出门的话一定要做好防护措施呀,不出门的话最好。

大家都不容易,虽说不是专业的也帮不上什么忙,但至少别添乱了。网上很多考验智商的事情,希望大家有明辨是非的能力,多看官方报道,至少比那些东西靠谱很多。

OK,言归正转,农历新年快到了,写了个新年贺卡生成器,分享给大家,祝大家新年快乐。

让我们愉快地开始吧~

开发工具

Python版本: 3.6.4

相关模块:

os模块;

io模块;

sys模块;

pillow模块;

pyqt5模块;

以及一些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做个GUI:

内容路径就是写了祝福语的文本文件:

总结

到此这篇关于用Python写个新年贺卡生成器的文章就介绍到这了,更多相关Python新年贺卡内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

用Python写个新年贺卡生成器

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么利用Python编写一个藏头诗在线生成器

这篇文章主要介绍了怎么利用Python编写一个藏头诗在线生成器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么利用Python编写一个藏头诗在线生成器文章都会有所收获,下面我们一起来看看吧。一、藏头诗(“小浪
2023-06-30

基于Python怎么编写一个二维码生成器

这篇“基于Python怎么编写一个二维码生成器”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Python怎么编写一个二维
2023-07-02

使用python怎么创建一个递增生成器

本篇文章为大家展示了使用python怎么创建一个递增生成器,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB前端开发,众多
2023-06-14

使用python怎么编写一个自动生成sql语句的脚本

这篇文章主要介绍了使用python怎么编写一个自动生成sql语句的脚本,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python是什么意思Python是一种跨平台的、具有解释性、编译性、
2023-06-06

Python利用wxPython制作一个有趣的验证码生成器

这篇文章主要为大家详细介绍了Python如何利用wxPython制作一个简单有趣的验证码生成器,文中的示例代码讲解详细,需要的小伙伴可以了解一下
2023-05-18

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录