查看原文
其他

你还在@微信官方?用 Python 随意生成你想要的微信头像!

程序人生 2019-10-30

以下文章来源于简说Python ,作者老表

作者 | 老表
责编 | 伍杏玲


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

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

刷遍朋友圈。

到底是什么呢?

我们先来看看朋友圈



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

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

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

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

就在这时,我手贱,

一不小心刷了下朋友圈,

结果:


我,好(lei)高(ge)兴(qu)啊!
原来是套路啊,

后来仔细想想,也是,

微信官方

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

当然,

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

别人能做,我为啥不能?

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

一、原始需求:

给自己的微信头像,加个国旗或者70的Logo。

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

二、简化需求
  1. 给图片加上国旗或者70年的Logo

  2. 然后手动换头像

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

三、简化需求+1
  1. 朋友圈随便找两个已经换好头像的好友,下载他们的图像。

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

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

  4. 手动换微信图片。

解析:理论上没有问题。

三、过程/代码

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

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

第二步,抠图工具去除图像中人像部分,弄出基本模型。

嗯~我不太会用PS,这是我抠出来的!惨不忍睹~

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


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

第三步,合并原头像与我们扣图生成的模型。

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

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

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

有些人回复了,

却没有解决问题!




网上也找了一堆,没有对口的,在肚子叫声渐渐大起来时我深思:我的需求难吗?我的需求奇葩吗?

就在这时候,读者朋友提供了一个他之前做的换证件照底色的代码样例。

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

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



具体代码:

# -*- 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 != (700700):  # 判断图片大小,统一改为 700*700
            # 修改图片尺寸
            size = (700700)
            img2.thumbnail(size)
            img2.show()
        # 图片粘贴选区
        loc = (00700700)
        # 将img1 粘贴到 img2
        img2.paste(img1, loc, img1)
        img2.show()   # 显示图片
        img2.save("new.png")   # 保存生成的头像图片


t0 = Picture()
t0.handle_picture()
运行:


第四步,手动换微信图片:


等我写完代码,

帮几个朋友换了头像,

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




哈哈哈哈,也太有意思了吧~
当然,也出现了些灰产:



当然,也有明白人:

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

望各位悉知。

作者简介:老表,Python终身学习者,个人微信公众号:简说Pytyhon。

 热 文 推 荐 400 名微软员工主动曝光薪资:28 万元到 228 万元不等!
秒懂 JWT!漫画:程序员一时单身一时爽,一直单身...有点惨

全面解析腾讯最新开源 loT 操作系统 TencentOS tiny!

不止于刷榜,三大CV赛事夺冠算法技术的“研”与“用”

如何用Python快速开发一个区块链数据结构?神龙X-Dragon,这技术“范儿”如何?☞厉害!接班马云的为何是张勇?
你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存