前言

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

avatar
avatar
avatar
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,加我请注明来意