手把手教你微信好友头像形成指定的文字

实现-微信好友头像排列成文字(附带源码

首先给你们看看实现出来的效果(输入文字“暑假快乐”)!

     

  

实现步骤解析:

1、点击单点单图:

2、输入相应文字和保存的文件夹:

3、点击获取微信头像并微信授权下载微信好友头像结束后直接点击输出文件就可以了

3、打开你输入的文件名称的输出文件:例如我输入的是RunWsh,那么文字对应头像图片在RunWsh_输出文件里

源码介绍:

核心是利用三个个库:

1 wxpy 库,用于获取好友头像然后下载
2
3
4
5 Pillow 库,用于拼接头像
6
7
8
9 Pyinstaller 库,用来打包 Python 程序成 exe 文件

程序通过三个函数实现,第一个 creat_filepath 函数生成图片下载文件路径,第二个 save_avatar 函数循环获取微信好友头像然后保存到本地,第三个 joint_avatar 函数就是把头像拼接成一张大图。

完整源码:

 1 # -*- coding: utf-8 -*-
 2 from wxpy import *
 3 import math
 4 from PIL import Image
 5 import os
 6
 7 # 创建头像存放文件夹
 8 def creat_filepath():
 9     avatar_dir = os.getcwd() + "\\wechat\\"
10    if not os.path.exists(avatar_dir):
11        os.mkdir(avatar_dir)
12     return avatar_dir
13
14 # 保存好友头像
15 def save_avatar(avatar_dir):
16     # 初始化机器人,扫码登陆
17     bot = Bot()
18     friends = bot.friends(update=True)
19     num = 0
20     for friend in friends:
21         friend.get_avatar(avatar_dir + '\\' + str(num) + ".jpg")
22         print('好友昵称:%s' % friend.nick_name)
23         num = num + 1
24
25 # 拼接头像
26 def joint_avatar(path):
27     # 获取文件夹内头像个数
28    length = len(os.listdir(path))
29     # 设置画布大小
30     image_size = 2560
31     # 设置每个头像大小
32     each_size = math.ceil(2560 / math.floor(math.sqrt(length)))
33     # 计算所需各行列的头像数量
34     x_lines = math.ceil(math.sqrt(length))
35     y_lines = math.ceil(math.sqrt(length))
36     image = Image.new('RGB', (each_size * x_lines, each_size * y_lines))
37     x = 0
38     y = 0
39     for (root, dirs, files) in os.walk(path):
40         for pic_name in files:
41             # 增加头像读取不出来的异常处理
42                 try:
43                    with Image.open(path + pic_name) as img:
44                        img = img.resize((each_size, each_size))
45                        image.paste(img, (x * each_size, y * each_size))
46                         x += 1
47                         if x == x_lines:
48                             x = 0
49                             y += 1
50                except IOError:
51                     print("头像读取失败")
52
53     img = image.save(os.getcwd() + "/wechat.png")
54     print('微信好友头像拼接完成!')
55
56 if __name__ == '__main__':
57     avatar_dir = creat_filepath()
58    save_avatar(avatar_dir)
59    joint_avatar(avatar_dir)

 完整项目打包发给大家下载:

公众号扫入回复--“微信头像”即可--->获取源码

  

转载于:https://www.cnblogs.com/chenqiwei/p/RunWsh_WechatHead.html

手把手教你微信好友头像形成指定的文字相关推荐

  1. php仿照微信头像截取,手把手教你用 PHP 拼接微信好友头像

    1.如何选一个微信爬虫. 所谓的微信爬虫就是利用微信的 web api 做一些自动化的事情,这里强烈推荐由 PHP7实现的vbot, 所有的东西都可以在 vbot 的文档里找到, 在微信 web ap ...

  2. 用python做头像_教你用python下载和拼接微信好友头像图片

    相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就可以转载到 ...

  3. 10分钟教你用python下载和拼接微信好友头像图片

    相信微信大家是用得再多也不过了.那么,对于python+微信,又能玩出什么新的花样呢?下面小编就给大家带来一个好玩的东西.用python下载所有的微信好友的头像,然后拼接成一张大图.这样,大家就可以转 ...

  4. python头像教程_微信好友头像全家福详细教程python版

    昨天按照大佬的代码,做了一个微信全家福的图片,后面好多人问我是怎么做的,索性我就出个详细的教程吧,我python也是三脚猫功夫,有不对的地方,还请各位大佬手下留情. 先看看成果吧 微信好友头像全家福详 ...

  5. 手把手教搭建微信小程序教程

    小白式手把手教搭建微信小程序教程 宝塔软件商店下载如下:php7.3  Nginx 1.20.2  MySQL 8.0.24 phpMyAdmin 5.0 搭建准备1:一台服务器(压缩包里附购买教程) ...

  6. python头像教程_Python拼接微信好友头像大图的实现方法

    基于 itchat 库来获取微信好友头像并执行拼接操作,对微信上文字化好友列表数据进行可视化展示. 获取好友头像 def save_avatar(folder): """ ...

  7. python朋友圈头像_Python拼接微信好友头像大图的实现方法

    基于 itchat 库来获取微信好友头像并执行拼接操作,对微信上文字化好友列表数据进行可视化展示. 获取好友头像 def save_avatar(folder): """ ...

  8. linux通讯录软件带头像,小程序新技能 Get!保存微信好友头像到手机通讯录

    原标题:小程序新技能 Get!保存微信好友头像到手机通讯录 亲爱的朋友,你知道来电时能看到好友的头像是一种怎样的体验吗? 你是否注意过这样一件事:每当打开自己的微博.微信等社交软件,除了扑面而来的信息 ...

  9. 来!把 5000 微信好友头像拼成一张图!

    作者 | 苏克1900 本文经授权转载自高级农民工(ID:Mocun6) 先PO一张图. 有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的图看着会更刺激些. 看完了图,你可能想 ...

最新文章

  1. 华为服务器面板显示,服务器面板怎么查看
  2. python中是干嘛的-你都用Python来做什么,它对你来说有什么作用?
  3. html-mailto
  4. mongodb 备份mysql_MongoDB备份与恢复
  5. 基于JFinal框架开发的企业办公系统-JFinalOA v1.1源码
  6. SSM之Mybatis框架初步
  7. DataBseDesign工作笔记003---ERStudio使用笔记_基本使用方法详解
  8. 2)Oracle 公司的产品线介绍
  9. VTD的官方help翻译-ROD部分(1~4章)
  10. WARNING: The directory '/home/zhex/.cache/pip/http' or its parent directory is not owned by the curr
  11. 一维码识别技术与二维码识别技术
  12. 【Day4.3】大皇宫内蹭讲解
  13. php 打印出心形,利用php输出不同的心形图案_PHP
  14. 大学计算机基础教学目标,大学计算机基础教学大纲2015.doc
  15. 【Linux】设备驱动简述,快速认知
  16. Pytorch:optim.zero_grad()、pred=model(input)、loss=criterion(pred,tgt)、loss.backward()、optim.step()的作用
  17. 纸质合同为什么要升级为电子合同?区别在哪?
  18. OpenCV学习日记(2)
  19. 服务器关闭远程桌面连接后,鼠标、键盘、剪切板等失效解决方法
  20. Compose 正式发布,来打造一个 Flappy Bird! | 开发者说·DTalk

热门文章

  1. NSIS 中的$DOCUMENTS
  2. 商业计划书撰写“五步法”
  3. 计算1~10所有数的平方和
  4. 【简书读书社】每个周末,一起来读简书电子书(第十三期)
  5. Git给项目打Tag
  6. Spring Security入门篇——标签sec:authorize的使用
  7. IDEA中设置python解释器(不同虚拟环境)
  8. Activiti 查看流程历史记录
  9. 美国(大平洋时区)夏令时
  10. 外客户为什么要验厂?外贸公司怎么应对验厂?