前言
最近比较火的一个现象是,朋友圈的人疯狂艾特微信官方,请求得到一面国旗。

avatar

avatar
但这样其实是没有用的,那么我们该怎么办???
小程序??已经关闭了,而且我试过,这样得到的头像有点模糊。

avatar
Python做一个
于是想到,Python
的图像处理很棒,且微信官方也是这样操作,PS得到的,并不是动态覆盖,这么一来就好办了,就是将国旗图片进行缩放到一定的比例,接着合成。
原来的头像:
国旗图片:

逻辑清楚后,直接开干:
这里的库PIL只支持到2.7,所以如果你用的是3.x,那么记得导入Pillow库,一样可以用
from PIL import Image
读取图片,分别为国旗图片、待处理的头像图片,记得改成你自己的文件名字
flag = Image.open(“flag.png”)
avator = Image.open(“IMG_0718.jpg”)计算缩放比例,以头像图片的宽度为准~缩放到1/2
ratio = avator.width / flag.width / 2
size = (int(flag.width * ratio), int(flag.height * ratio))缩放国旗图片
flag = flag.resize(size, Image.ANTIALIAS)
计算坐标,直接套用之前算的坐标就好啦
position = (avator.width - flag.width, avator.height - flag.height)
合成图片并保存
avator.paste(flag, position)
avator.save(“avator.jpg”, “jpeg”)
成果

上面展示的是我微信头像,QQ头像因为有字的原因,加了国旗之后,让国旗失色不少,就放弃了。
QQ头像如下:

总的来说,操作还是很简单的,只要把图片放在一个文件夹下,导入Pillow
库,更改对应图片名称后点击运行,就得到了我们要的头像。
QQ:1941256841,加我请注明来意