社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

震惊!还能用Python制作微信红包封面,展现自己满满的诚意

菜鸟学Python • 4 年前 • 428 次点击  

公众号 “菜鸟学Python”, 设为 “星标

446篇原创,和30w+一起学Python!


过年期间,家人和朋友之间少不了的是互相发红包,钱多钱少不重要,重要的是对朋友的一份情谊和自己的一份祝福。


而当下最流行的红包方式,就当属于微信红包了,大家在发送微信红包的时候会发现,在发送红包时,可以添加上一个小表情来增加红包的趣味性。既然我们是玩Python的,不如用Python来做一个有趣的红包软件,生成红包封面!





随手附赠的图片总是感觉无法体现我们的心意和诚意,于是菜鸟哥熬夜弄了一个小程序,带领大家来制作一个属于你自己的微信红包贺卡图,让朋友在收到红包时,还能感受到你满满的诚意。


01.贺卡内容

为了让大家有一个直观的体验,我们先来看一下红包贺卡是什么样子的吧。

可以看到,红包封面的左上角有人物,这里大家可以选择自己的任意一张自拍照来进行替换,我们会在后续的程序中进行讲解。
而在人物的右侧,是我们为朋友送上的祝福语,这里是程序默认生成的,不需要大家来处理,每次生成的祝福语都是不相同的。
最后是我们的背景选择,喜庆的背景寓意着新的一年红红火火。这样的贺卡,配上红包发给朋友,真的是再合适不过了。


02.如何制作

在对整体的封面有所了解后,接下来我们来看一下程序是如何实现的吧。

本次程序制作中,Python的版本是3.6,用到Python库有:

  • os

  • tkiner:

  • PIL  :1.1.7

  • baidu-aip:  2.2.18.0

  • opencv-Python:  3.4.10.35

  • base64


为了更好的方便大家对于程序的使用,我们采用tkinter来制作简单的界面,让大家不必太过细究程序的内部实现,只需要方便的应用程序即可。


上图中,大家只需要点击前景图地址按钮选择自己的一张自拍照或者其他的自己的照片即可,然后点击背景图地址,选择一张背景图片,然后点击确认开启,程序便会帮助我们自动的进行红包封面的制作。需要注意的是,这里的背景图片大家尽量不要再重新选择,否则制作出来的图像看起来可能会比例不协调。


在程序实现方面,上面的三个按钮分别绑定着三个函数,如下图所示:

其中前景图地址和背景图地址所绑定的函数的作用是让用户来选择本地的前景图和背景图的存储地址。而在确认开启键所绑定的Start函数中,通过调用Mypic类并传入前景图片地址和背景图片地址来制作红包封面,并返回红包封面的存储地址。将保存的地址通过tkinter来进行提示。

在Mypic类中,首先将传入的前景图通过百度AI进行人像抠图,将前景图中的人物扣取出来。将人物保存到本地进行存储,并返回保存的路径。


得到人物图后,程序就可以读取背景图和分割出来的人物图,随机选择一条祝福语,然后将人物图和祝福语粘贴到背景图的合适位置,保存生成的红包封面,并返回红包封面的保存位置。


03.视频展示
以上就是关于整体程序流程的讲解,最后我们来通过视频展示的方式,更加直观的来告诉大家如何使用该程序。


04.如何获取源码:
需要源码的同学可以在公众号后台输入:小助手,然后暗号(封面)
原创不易,欢迎大家在留言区支持,给个三连哦!



爆款文案


点这里,获取新手福利


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/108018
 
428 次点击