用Python 制作微信全家福,这么神奇的吗?
前聊天刷朋友圈,晒了一张下面的照片,微信好友墙,一张大图片,展示了自己所有好友的照片!
效果图如下,出于隐私,这里作了模糊处理。
![](/assets/blank.gif)
是不是很炫,而且这还是独一无二的,毕竟每个人的微信好友是不一样的。本文就教大家用Python来实现这种效果。
1 环境
操作系统:Windows
Python版本:3.7.3
2 代码实现
我们需要首先需要获取好友的头像信息,接下来处理图像并完成图像的拼接。
准备工作
在这里,我们登录微信获取好友信息,使用的是 wxpy 模块;处理并生成最终的图像借助 PIL 模块。因为都是第三方模块,如环境中没有可以使用 pip 进行安装。另外涉及路径的处理等,我们需要导入 os 模块和 sys 模块。
from wxpy import * import PIL.Image as Image import os import sys
获取并存储好友头像信息
我们要获取微信好友的头像,首先需要登录微信
# 初始化机器人,扫码登陆微信,适用于Windows系统 bot = Bot() # # Linux系统,执行登陆请调用下面的这句 # bot = Bot(console_qr=2, cache_path="botoo.pkl"
在获取好友头像信息之前,我们得先在本地创建一个目录,用于后续存储好友头像的文件。
# 获取当前路径信息 curr_dir = get_dir(sys.argv[0]) # 如果FriendImgs目录不存在就创建一个 if not os.path.exists(curr_dir + "FriendImgs/"):os.mkdir(curr_dir + "FriendImgs/")
接下来就是获取友头像信息,并将其存储在本地创建的目录中。
my_friends = bot.friends(update=True) # 获取好友头像信息并存储在FriendImgs目录中 n = 0 for friend in my_friends:friend.get_avatar(curr_dir + "FriendImgs/" + str(n) + ".jpg")n = n + 1
这时你就可以在本地FriendImgs文件夹中,看到保存下来的微信好友头像的图片。
![](/assets/blank.gif)
生成微信好友墙
制作微信好友墙,就像以前的大字报,把我们下载的好友头像逐一贴上去即可。
首先设定好微信好友墙的尺寸,使用 Image.new() 方法。
image = Image.new("RGB", (650, 650))
接下来,我们需要逐个打开微信好友的图片,使用 Image.open() 方法。
img = Image.open(curr_dir + "FriendImgs/" + file_names)
将微信头像图片,重置为50*50像素尺寸的小图,使用 img.resize() 方法。
img = img.resize((50, 50), Image.ANTIALIAS)
然后将图片黏贴到我们的照片墙中,使用 image.paste() 方法。
image.paste(img, (x * 50, y * 50))
最后将制作完成的照片墙保存下来,使用 image.save() 方法。
img = image.save(curr_dir + "WeChat_Friends.jpg")
现在我们将本小节中代码整合到一起,如下所示:
# 准备生成微信好友头像墙的尺寸 image = Image.new("RGB", (650, 650)) # 定义初始图片的位置 x = 0 y = 0 # 获取下载的头像文件 curr_dir = get_dir(sys.argv[0]) ls = os.listdir(curr_dir + 'FriendImgs') # 遍历文件夹的图片 for file_names in ls:try:# 依次打开图片img = Image.open(curr_dir + "FriendImgs/" + file_names)except IOError:continueelse:# 重新设置图片的大小img = img.resize((50, 50), Image.ANTIALIAS)# 将图片粘贴到最终的照片墙上image.paste(img, (x * 50, y * 50))# 设置每一行排13个图像x += 1if x == 13:x = 0y += 1 # 保存图片为WeChat_Friends.jpg img = image.save(curr_dir + "WeChat_Friends.jpg 代码执行后,最终生成的效果图如下:
(这里展示的图片做了模糊处理)
![](/assets/blank.gif)
3 后记
本文中设定照片墙尺寸为650*650,而好友头像尺寸为50*50,这样最终制作成的照片墙每行有13位好友,共计容纳13*13位好友。
大家可根据自己实际情况,自行调整尺寸参数,以达到最佳效果。大家可以动手试一下啦!制作自己独一无二的照片墙吧!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69923331/viewspace-2655468/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69923331/viewspace-2655468/
用Python 制作微信全家福,这么神奇的吗?相关推荐
- Python 制作微信全家福,你就是朋友圈最亮的仔!
目录:0 引言 1 环境 2 代码实现 3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这 ...
- Python 制作微信全家福
https://mp.weixin.qq.com/s?__biz=MzU0OTU5OTI4MA==&mid=2247487008&idx=2&sn=8621ad10badb90 ...
- 用python制作生日蛋糕图片大全_Python 制作微信全家福,你就是朋友圈最亮的仔!...
原标题:Python 制作微信全家福,你就是朋友圈最亮的仔! 目录:0 引言 1 环境2 代码实现3 后记 0 引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出 ...
- 用python做头像_如何利用python制作微信好友头像照片墙?
这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...
- 利用Python制作微信机器人(三)实现爬取JD商品价格
从前两篇的博客来看,目前已经实现了机器人单向给微信发消息,和与机器人进行交互式发消息,详情如下: 利用Python制作微信机器人(一)机器人单向发消息 利用Python制作微信机器人(二)与机器人进行 ...
- 利用Python制作微信跳一跳外挂,微信好友装逼神器!
导语 前几天在GitHub上看到有人利用Python玩一款名为"跳一跳"的微信小程序,于是打算自己也来试一试,进群:711944363 获取微信跳一跳源码! 演示工具 电脑系统:W ...
- python表白代码照片墙-如何利用python制作微信好友头像照片墙?
这个不难,主要用到itchat和pillow这2个库,其中itchat用于获取微信好友头像照片,pillow用于拼接头像生成一个照片墙,下面我简单介绍一下实现过程,代码量不多,也很好理解,实验环境wi ...
- python制作微信个人二维码_如何用Python制作微信好友个性签名词云图
前言 上次查看了微信好友的位置信息,想了想,还是不过瘾,于是就琢磨起了把微信好友的个性签名拿到,然后分词,接着分析词频,最后弄出词云图来. 1.环境说明 Win10 系统下 Python3,编译器是 ...
- 利用Python制作微信机器人(二)
上次写了利用Python制作微信机器人,其中只实现了通过api来控制微信机器人来给自己发送消息,具体详情可查看: 利用Python制作微信机器人(一) 本篇博客主要编写如何是实现给微信机器人发送消息, ...
最新文章
- windows server2003 升级到windows server2012
- ***微信 该连接无法访问问题解决办法
- 上海15岁女高中生蝉联“最年轻科学家”
- 宝塔需在php设置中安装redis扩展,wordpress开启Redis扩展教程
- pca算法介绍及java实现_PCA算法原理及实现
- 【华为云专家原创】 服务注册与发现如何满足服务治理?
- 如何释放hdfs中的续租_装修中甲醛如何高效释放
- ArcGIS水文分析实战教程(3)DEM数据准备
- OpenGL ES总结(四)OpenGL 渲染视频画面
- Fragstats4.2之计算景观格局指数(一)
- 总结Android系统启动完整流程(六)
- 基于正则表达式(python)对东方财富网上证指数吧爬虫实例
- C#根据工作经验来谈谈面向对象
- ubuntu禁止自动锁屏
- cropper:图片裁剪工具
- 毕设 JAVA.JSP网上学习答疑系统论文
- 2021-07-05
- python 网络运维框架scape_scape独立层,无封装
- 笑话大全查询易语言代码
- 数据结构编程回顾(七)航班信息的查询与检索
热门文章
- maven打包动态替换配置文件属性
- 国内国外Dns服务器大全
- Navicat for MySQL 新建数据库设置数据库编码
- Centos6.5编译安装zabbix2.2通过snmp协议监控路由器
- ansys2020R1软件Workbench linux版本安装教程 超详细安装教程
- ORM是什么,ORM的优缺点
- 使用OBS推RTMP流
- AcWing 883. 高斯消元解线性方程组 (高斯消元)
- CSUST 4001-你真的会加法吗?(不进位加法-字典树)
- 小事记-- Pr 打开显示“不支持的视频驱动程序”