import itchat
import os
import PIL.Image as Image #PIL:Python Imaging Library,已经是Python平台事实上的图像处理标准库了。PIL功能非常强大,但API却非常简单易用。
from os import listdir
import math #from wxpy import *# 实例化,并登录微信#bot = Bot(cache_path=True)#自动生成一个图片,从电脑底部跳出来,扫描就行。
itchat.auto_login(enableCmdQR=True)
#friends是许多字典构成的列表,每个朋友的所有信息构成一个字典,
friends = itchat.get_friends(update=True)[0:] user = friends[0]["UserName"] #[0]代表取自己的信息,[friends]代表取UserName对应的值,UserName是键keyprint(user)
#@dc71ffea7e7912610e604a94840938810374d105ed4fe811b2fad06930765c0c.jpg
os.mkdir(user) #函数用于以数字权限模式创建目录得到:D:\ST\Python_work\@dc71ffea7e7912610e604a94840938810374d105ed4fe811b2fad06930765c0c
#@dc71ffea7e7912610e604a94840938810374d105ed4fe811b2fad06930765c0c_friends,这是一个未知格式的文件,但是打不开
num = 0 for i in friends: img = itchat.get_head_img(userName=i["UserName"]) #得到每位好友的头像fileImage = open(user + "/" + str(num) + ".jpg",'wb') #打开文件user + "/" + str(num) + ".jpg"是给每个图片命名。数字开头,jpg格式照片,如果不存在就创建一个这样名字的图片比如3.jpg#但是这个文件夹fileImage.write(img) fileImage.close() num += 1 #统计好友数目,也给照片命名pics = listdir(user)  #文件夹user:D:\ST\Python_work\@dc71ffea7e7912610e604a94840938810374d105ed4fe811b2fad06930765c0c按照字母顺序排序numPic = len(pics) #统计照片数目print(numPic) eachsize = int(math.sqrt(float(640 * 640) / numPic)) #计算每个小头像的边(都是正方形),总图片是640 * 640大小,除以好友个数,print(eachsize) numline = int(640 / eachsize) #计算行数和列数,#PIL的ImageDraw提供了一系列绘图方法,让我们可以直接绘图
toImage = Image.new('RGBA', (640, 640)) #创建一个(640, 640)大小的图片存放所有的好友的头像
#image = Image.new('RGB', (width, height), (255, 255, 255))print(numline) #每行的图片数目x = 0
y = 0 for i in pics: #PICS是列表格式,里面有所有好友按照数字从1到好友数目的照片try: #这里要打开的是具体的某个文件img = Image.open(user + "/" + i) #D:\ST\Python_work\@dc71ffea7e7912610e604a94840938810374d105ed4fe811b2fad06930765c0c\1.jpgexcept IOError: #打不开文件就报错print("Error: file open error or cann't find file") else: img = img.resize((eachsize, eachsize), Image.ANTIALIAS) #把每个照片设置为刚才得到的大小toImage.paste(img, (x * eachsize, y * eachsize)) #放置每个图片的位置x += 1 if x == numline: #如果一行放到头了,换行,从新开始放x = 0 y += 1 toImage.save(user + ".jpg") #保存最终的图片为user + ".jpg"itchat.send_image(user + ".jpg", 'filehelper') #  # 自动向文件助手里面发送图片,不需要可以关闭
toImage.show()
#我直接放弃了多余的让图片无法成为完整正方形的头像

Python项目:生成微信好友头像拼接图相关推荐

  1. 高手用Python一键生成微信好友头像墙

    用 python 代码写了一个一键生成合成微信好友头像的程序,效果如下: 不会写代码?没关系!只要你会使用电脑就 ok! 因为除了用代码方式生成外,还建了一个 .exe 的程序,在电脑点击运行就完事了 ...

  2. 用Python一键生成微信好友头像墙

    前言 用 python 代码写了一个一键生成合成微信好友头像的程序,效果如下: 不会写代码?没关系!只要你会使用电脑就 ok! 因为除了用代码方式生成外,还建了一个 .exe 的程序,在电脑点击运行就 ...

  3. python获取微信好友头像拼接“2020”

    python获取微信好友头像拼接"2020" 背景 思路 源码说明 背景 2019年的最后一天,心想马上就要跨年,大家都在总结和祝福,但是又不想随大流,打开微信,翻看着通讯录,突然 ...

  4. Python实现一键生成微信好友头像墙

    效果图: 具体代码实现如下: # -*- coding: utf-8 -*- from wxpy import * import math from PIL import Image import o ...

  5. 用python做一个微信好友头像合集

    近日在学习python,在公众号上学到的一个很有意思的小项目,利用python将微信所有好友的头像做成拼图,效果如下. 看完了图,你可能想知道这个图咋做出来的,不会是我闲着无聊把把好友头像一个个保存下 ...

  6. Node.js实现微信好友头像拼接(wechaty+sharp)

    Github被Microsoft收购,Node也要倒过来了Deno- 最近新鲜事儿着实不少.. 背景 知乎上有个问题Python 里itchat 模块能实现什么有趣的东西? 从中看到 wxImage ...

  7. python爬取微信好友头像_使用python itchat包爬取微信好友头像形成矩形头像集的方法...

    初学python,我们必须干点有意思的事!从微信下手吧! 头像集样例如下: 大家可以发朋友圈开启辨认大赛哈哈~ 话不多说,直接上代码,注释我写了比较多,大家应该能看懂 import itchat im ...

  8. Python3 生成微信好友头像的图片合集

    刚才在github上看到一个大神写的生成微信好友图像集合的脚本 自己运行了一下发现挺好玩的 原帖地址:https://github.com/aloneZERO/py-party/tree/master ...

  9. 用Python爬取微信好友头像,才知道好友都是这样的人

    用Pyhon爬取微信好友头像,才知道好友是这样的人 看你的微信头像,就知道你没见过世面 看你的微信名称,我就猜到了你是个渣男 看你的朋友圈,就能反映出你很好追 选择微信头像的纠结症 现如今,不管是常用 ...

最新文章

  1. 机器学习算法与技术简介
  2. 一个WEB***的处理过程
  3. Java 9 - 17 特性解读:Java 9
  4. qt c语言程序运行时间,c – 在Qt中计时事件的最佳方法
  5. C++重载(overload)和重写(覆盖)的区别?
  6. Java IO 流 设计模式
  7. mysql英文介绍_每日科技英文48: MySQL C API简介
  8. OpenGL6-纹理动画
  9. PyQt5 让窗口在桌面居中的办法
  10. python xlwt 解决报错:ValueError: More than 4094 XFs (styles)
  11. 超全!常见自动化运维工具全解析(含ansible、Puppet、SaltStack教程)
  12. PDF怎么转换成Word文字
  13. Ubuntu18.04安装可视化软件Pyviz
  14. 查询数据库中所有列名
  15. 此计算机未安装程序,此计算机上未安装 Windows 组件 Server-Gui-Mgmt-Infra
  16. Python绘制心形图案
  17. 基于纹理的印章识别分离——发票识别之一
  18. 分组传送网——LTE/QoS/保护/时钟同步
  19. java 麻将的发牌与洗牌_JAVA程序设计(11)-----面对对象初级设计 麻将 创建麻将牌 然后洗牌 发牌~ 恩 就这样...
  20. LeetCode刷题笔记 - 175.Combine Two Tables

热门文章

  1. C语言的那些秘密之---函数返回局部变量(转)
  2. leetcood学习笔记-107-二叉树的层次遍历二
  3. Andrew NG 机器学习编程作业3 Octave
  4. PHP设计模式练习——制作简单的投诉页面
  5. 自己配置的WAMP环境,扩展oracle函数库(oci)
  6. android 多点
  7. linux ulimit调优
  8. 扫盲了,RC,RTM,Beta等各个版本的意思
  9. 爱的回忆(散文诗 长篇连载)
  10. Intellij IDEA 安装lombok及使用详解