前言
今天早上@微信官方
突然火了,一句“请给我一面国旗@微信官方”刷遍朋友圈。
到底是什么呢?我们先来看看朋友圈



说干就干,拿起Python就往前冲。
需求/过程/代码
需求:
原始需求:
给自己的微信头像加个国旗或者70的logo(喜庆建国70周年)
解析:好像在和微信交互,太难了
简化需求:
1.给图片加上国旗或者70的logo
2.然后手动换头像
解析:要抠图,在图片指定位置加小图片,好像也比较难
简化需求+1:
1.朋友圈随便找两个已经换好头像的好友,下载他们的图像
2.抠图工具去除图像中人像部分,弄出基本模型
3.合并原头像与我们扣图生成的模型
4.手动换微信图片
解析:理论上没有问题
过程/代码
Step 1
1.朋友圈随便找两个已经换好头像的好友,下载他们的图像

Step 2
2.抠图工具去除图像中人像部分,弄出基本模型
嗯~我不太会用PS,



获取素材文件:请在微信公众号:简说Python 回复:国庆
Step 3
3.合并原头像与我们扣图生成的模型





# -*- coding: utf-8 -*-
"""
@author = 老表
@date = 2019-09-24
@个人公众号 : 简说Python
"""
# 注意:print_function的导入必须在Image之前,否则会报错
from __future__ import print_function
from 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终身学习者,个人微信公众号:简说Pytyhon。
转载需联系作者,微信号:jjxksa888,备注:转载,无备注不添加。