微信好友全头像直接上图代码代码分析

直接上图

代码

import itchat
import math
import PIL.Image as Image
import os

itchat.auto_login()
friends = itchat.get_friends(update=True)[0:]
user = friends[0]["UserName"]

num = 0
for i in friends:
    img = itchat.get_head_img(userName=i["UserName"])
    fileImage = open('文件夹路径' + "/" + str(num) + ".jpg",'wb')
    fileImage.write(img)
    fileImage.close()
    num += 1

ls = os.listdir('C:/Users/LP/Desktop/image')
each_size = int(math.sqrt(float(640*640)/len(ls)))
lines = int(640/each_size)
image = Image.new('RGBA', (640, 640))
x = 0
y = 0
for i in range(0,len(ls)+1):
    try:
        img = Image.open('C:/Users/LP/Desktop/image' + "/" + str(i) + ".jpg")
    except IOError:
        print("Error")
    else:
        img = img.resize((each_size, each_size), Image.ANTIALIAS)
        image.paste(img, (x * each_size, y * each_size))
        x += 1
        if x == lines:
            x = 0
            y += 1
image.save('C:/Users/LP/Desktop/image' + "/" + "all.jpg")
itchat.send_image('C:/Users/LP/Desktop/image' + "/" + "all.jpg", 'filehelper')

代码分析

首先下载图片,最后通过piilow拼接起来

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

ASP.NET MVC Release Candidate 1学习指南

现在 ASP.NET MVC Release Candidate 已经可以下载, 如何着手开始用asp.net mvc开发应用呢? 这是一个学习ASP.NET ...

1749
来自专栏c#开发者

MSMQ消息大于4MB限制的解决办法

MSMQ 消息发送大于 4 导致 System.Messaging.MessageQueueException Mb。 察看本文应用于的产品 社区解决方案免责...

33813
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(4)-创建项目解决方案

前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 设计中术语,概念这种东西过于模糊,我们必须学习累积才能认识这些概念模型。 我无法用文章...

1909
来自专栏张善友的专栏

WCF Data Services 5.0 和 EF 4.3 Code First

WCF Data Services 5.0已经在4月9日发布,支持OData V3版本的协议。之前版本的WCF Data Services是随.NET FX 4...

2167
来自专栏祝威廉

Spark 1.6 内存管理模型( Unified Memory Management)分析

新的内存模型是在这个Jira提出的,JIRA-10000,对应的设计文档在这:unified-memory-management。

1063
来自专栏牛肉圆粉不加葱

Structured Streaming 编程指南

Structured Streaming 是一个基于 Spark SQL 引擎的、可扩展的且支持容错的流处理引擎。你可以像表达静态数据上的批处理计算一样表达流计...

792
来自专栏丑胖侠

Curator分布式锁之生成流水号

在分布式系统中,为了保证数据的一致性,往往需要进行同步控制,比如减库存、唯一流水号生成等。Curator对Zookeeper进行了封装,实现了分布式锁的功能,提...

2555
来自专栏Python中文社区

Python多进程并行编程实践-mpi4py的使用

專 欄 ❈PytLab,Python 中文社区专栏作者。主要从事科学计算与高性能计算领域的应用,主要语言为Python,C,C++。熟悉数值算法(最优化方法,...

4097
来自专栏ImportSource

MySQL分页优化?用这一招,实用又简单

我们在做一些数量级不是爆大的分页场景时,一般都会去使用LIMIT加offfset的方式来实现。一般还会再加个order by来做个排序。

643
来自专栏数据和云

深入并行:从数据倾斜到布隆过滤深度理解Oracle的并行

陈焕生 Oracle Real-World Performance Group 成员,senior performance engineer,专注于 OLTP...

2869

扫码关注云+社区