文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

用Python写个新年贺卡生成器

2024-04-02 19:55

关注

前言

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

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

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯