Python 制作微信全家福,你就是朋友圈最亮的仔!-阿里云开发者社区

开发者社区> 小詹学Python> 正文
登录阅读全文

Python 制作微信全家福,你就是朋友圈最亮的仔!

简介: 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像。本文就教大家用Python来实现这种效果。

目录:0 引言 1 环境 2 代码实现 3 后记

0引言

前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像。
效果如下图,出于隐私考虑,这里作了模糊处理。
image.png

是不是很炫,而且这还是独一无二的,毕竟每个人的微信好友是不一样的。本文就教大家用Python来实现这种效果。

1 环境

操作系统:Windows
Python版本:3.7.3

2 代码实现

我们需要首先需要获取好友的头像信息,接下来处理图像并完成图像的拼接。

2.0 准备工作

在这里,我们登录微信获取好友信息,使用的是 wxpy 模块;处理并生成最终的图像借助 PIL 模块。因为都是第三方模块,如环境中没有可以使用 pip 进行安装。另外涉及路径的处理等,我们需要导入 os 模块和 sys 模块。
from wxpy import *
import PIL.Image as Image
import os
import sys

2.1 获取并存储好友头像信息

我们要获取微信好友的头像,首先需要登录微信
image.png
在获取好友头像信息之前,我们得先在本地创建一个目录,用于后续存储好友头像的文件。
image.png

接下来就是获取友头像信息,并将其存储在本地创建的目录中。
image.png

这时你就可以在本地FriendImgs文件夹中,看到保存下来的微信好友头像的图片。

image.png

2.2 生成微信好友墙

制作微信好友墙,就像以前的大字报,把我们下载的好友头像逐一贴上去即可。
首先设定好微信好友墙的尺寸,使用 Image.new() 方法。
image.png

接下来,我们需要逐个打开微信好友的图片,使用Image.open() 方法。 image.png

将微信头像图片,重置为50*50像素尺寸的小图,使用 img.resize() 方法。
image.png

然后将图片黏贴到我们的照片墙中,使用 image.paste() 方法。
image.png

最后将制作完成的照片墙保存下来,使用 image.save() 方法。
image.png

现在我们将本小节中代码整合到一起,如下所示:
image.png

代码执行后,最终生成的效果图如下:
(这里展示的图片做了模糊处理)
image.png

3 后记

本文中设定照片墙尺寸为650650,而好友头像尺寸为5050,这样最终制作成的照片墙每行有13位好友,共计容纳13*13位好友。
大家可根据自己实际情况,自行调整尺寸参数,以达到最佳效果。大家赶快去生成自己独一无二的照片墙吧!从此你就是朋友最亮的仔!
公众号后台回复「照片墙」即可获取本文全部代码。
作者:上海小胖
来源:微信公众号 小詹学Python

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: