环境 python3
模块 itchat,PIL
import itchat
import math
import os
import PIL.Image as Image
itchat.login() #扫码登录微信网页端
friends = itchat.get_friends(update=True) #获取最新好友信息,否则读取本地文件
num = 0
for i in friends:
img = itchat.get_head_img(i["UserName"]) #内置方法,下载所有好友的头像,也可以获取群头像
with open("./headImg2/" + str(num) + ".jpg","wb") as f:
f.write(img)
f.close()
print('%s is finished' % str(num))
num += 1
#获取文件夹中的文件个数
length = len(os.listdir("./headImg/"))
#根据总面积求每一个的大小
each_size = int(math.sqrt(float(810*810)/length))
#每一行可以放多少个
lines = int(810/each_size)
#生成白色新背景
image = Image.new('RGB',(810,810),'white')
x = 0
y = 0
for i in range(1,length):
try:
img = Image.open("./headImg/" + str(i) + ".jpg")
except IOError:
print(i)
print("Error")
else:
img = img.resize((each_size,each_size),Image.ANTIALIAS) #高质量缩放图片
image.paste(img, (x * each_size, y * each_size))
print("finish %s" % str(i))
x += 1
if x == lines:
x = 0
y += 1
image.save('./headImg/' + "all.jpg")
itchat.send_image('./headImg/' + "all.jpg",'filehelper') 通过文件传输助手发送到自己微信中
image.show() #本地打开图片
网友评论