你还在@微信官方?聊聊Python生成你想要的微信头像

时间:2021-05-22

今天早上@微信官方突然火了,

一句“请给我一面国旗@微信官方”

刷遍朋友圈。

到底是什么呢?

我们先来看看朋友圈

当然,这只是零零散散的部分截图,

看到这些,一股热血洒了出来,

我兴致勃勃的准备发朋友圈,

请神仙微信官方给我也换个头像,

就在这时,我手贱,

一不小心刷了下朋友圈,

结果:

我,好(lei)高(ge)兴(qu)啊!

原来是套路啊,

后来仔细想想,也是,

微信官方

哪有那么多时间给我换头像。

当然,

这也激发了我的程序员思维,

别人能做,我为啥不能?

说干就干,拿起Python就往前冲。

需求/过程/代码

需求:

原始需求

给自己的微信头像

加个国旗或者70的logo

(喜庆建国70周年)

解析:好像在和微信交互,太难了

简化需求

1.给图片加上国旗或者70的logo

2.然后手动换头像

解析:要抠图,在图片指定位置加小图片,好像也比较难

简化需求+1

1.朋友圈随便找两个已经换好头像的好友,下载他们的图像

2.抠图工具去除图像中人像部分,弄出基本模型

3.合并原头像与我们扣图生成的模型

4.手动换微信图片

解析:理论上没有问题

过程/代码

Step 1

1.朋友圈随便找两个已经换好头像的好友,下载他们的图像

太简单了,打开朋友圈,看看那个人在@微信官方,头像还换过来了,对,就是他在骗你,斗他。

Step 2

2.抠图工具去除图像中人像部分,弄出基本模型

嗯~我不太会用PS,

这是我抠出来的!惨不忍睹~

不过,我有个精通PS的女朋友呀~

还是女朋友厉害,三下两下就好了~夸夸~

获取文件素材,请在微信公众号回复:国庆

Step 3

3.合并原头像与我们扣图生成的模型

这个步骤是个漫长的过程,

我发了社群看看有没有了解图像处理的朋友,

发了朋友圈看看有没有志同道合的朋友~

有些人回复了,

确没有解决问题!

网上也找了一堆,没有对口的,

在肚子叫声渐渐大起来时,

我深思:我的需求难吗?我的需求奇葩吗?

就在这时候,

读者朋友提供了一个他之前做的

换证件照底色的代码样例,

我看了一下处理方法,试了一下,

OK!

这里特别感谢:Dime同学的帮助。

具体代码:

# -*- coding: utf-8 -*-"""@author = 老表@date = 2019-09-24@个人公众号 : 简说Python"""# 注意:print_function的导入必须在Image之前,否则会报错from __future__ import print_functionfrom PIL import Image"""需求:给图片右下角添加中国国旗欢迎国庆,喜庆70周年"""class Picture: def handle_picture(self): # 打开图片模版 img1 = Image.open("./img/70.jpg") img1 = img1.convert('RGBA') # 打开原来的微信头像 img2 = Image.open("./img/old.jpg") img2 = img2.convert('RGBA') if img2.size != (700, 700): # 判断图片大小,统一改为 700*700 # 修改图片尺寸 size = (700, 700) img2.thumbnail(size) img2.show() # 图片粘贴选区 loc = (0, 0, 700, 700) # 将img1 粘贴到 img2 img2.paste(img1, loc, img1) img2.show() # 显示图片 img2.save("new.png") # 保存生成的头像图片t0 = Picture()t0.handle_picture()

运行:

Step 4

4.手动换微信图片

后话

等我写完代码,

帮几个朋友换了头像,

再去看朋友圈,看消息,是这样的:

哈哈哈哈,太有意思了吧~

当然,也出现了些灰产:

当然,也有明白人:

最后附上《中华人民共和国国旗法》第十八条,

望各位悉知。

总结

以上所述是小编给大家介绍的你还在@微信官方?聊聊Python生成你想要的微信头像,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章