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

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:01   1969   0

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进行人像抠图,将前景图中的人物扣取出来。将人物保存到本地进行存储,并返回保存的路径。

图片

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

图片

04.如何获取源码:

需要源码的同学可以申请QQ群:721195303 免费领取

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP