python微信头像_Python玩微信——头像组字
上一篇,用Python实现了拿微信好友头像来拼接背景,融合成自己的新头像。
再之前呢,我们也实现了点阵字的输出与展示。
正好今天有位老哥过生日,我就把头像拼接和点阵字结合起来,搞了个头像成字的代码,请看微信朋友圈九宫格效果:
其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片:
代码中汉字文本可以自定义输入,头像图片也可以是备好的其他图片。怎么样,比之前的点阵字是不是更酷了些
思路
基本思路很直接:读取微信好友头像,按照汉字的点阵信息进行拼接,生成完整的单字图片。
读取微信好友头像的思路上篇提到过:利用开源的微信接口itchat,扫码登录个人微信,读取好友信息中的头像存到本地。
获取汉字的点阵信息也是按照之前的思路:利用汉字库HZK16文件来实现。拿到点阵信息后,将背景图片当做16*16点阵,用头像图片和空白来替代点阵中的点。这里为了提高字笔画的丰富性,我采用一个点对应4个头像图片。
itchatitchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。
首先是安装 pip install itchat,在代码中import itchat,之后直接调用方法即可。
#通过二维码登录微信网页版
itchat.auto_login()
#获取微信好友信息列表
friendList = itchat.get_friends(update=True)
获取头像图片
通过好友列表中的信息,读取头像图片内容,存储到本地,这样就完成了头像素材的获取。
好友如果很多,这个阶段耗时会较长。此外这个过程中发现有的好友可能没有设置头像、或者头像格式比较特殊,会导致读取失败,这里要利用try except语法进行控制。
汉字转点阵点阵字体是把每一个字符都分成16×16或24×24个点,然后用每个点的虚实来表示字符的轮廓。点阵字体也叫位图字体,其中每个字形都以一组二维像素信息表示
HZK16字库是符合GB2312标准的16×16点阵字库,支持的汉字有6763个,每个汉字模型需要16×16一共需要256个点来显示。
头像图片拼接
每个头像图片统一裁剪为100*100的小方图,16x16的点阵,每个点是2x2个头像小方图,即最终图片为长16x2x100的方图。
首先通过PIL模块生成背景图,可以设置自己喜欢的颜色:
#如果想要白色背景,将colorlist[index]改为'#FFFFFF'
canvas = Image.new('RGB', (3200, 3200), colorlist[index]) # 新建一块画布
根据汉字的点阵信息,控制是否将头像图片在该位置展现,最终生成头像图片拼接的单字大图。
九宫格效果
微信朋友圈九宫格效果如下,首先是新年祝福:
还有张大吉大利吃鸡九宫格:
图片组字
此外,还可以将照片、图片来直接进行组字:
回顾
用头像来组字的想法产生挺久了,最开始是想自己设计字形根据笔画来排列头像图片,觉得太辛苦就一直没去做。最近接触了点阵字并用代码来展示后,才有了实现图片组字的信心。 正好碰到朋友过生日,就用代码送上一点心意,比较简陋,但重在心意,感觉还是很不错的。
关于点阵字,从最开始的用0和1来展示,到改变成特殊符号提高美感,再到用tkinter图形界面以规范样式,以及现在用图片来拼点阵字,算是一个纵向自学的过程吧。可能重在乐子而非应用,但这个过程中,用心想了、尽力做了,权当对自己的一种锻炼吧。
代码
代码下载链接
代码文件中添加了注释,也附了个txt文档说明,如果感兴趣可以看看,非常欢迎各种建议和意见~
py代码转exe文件
为了方便运行程序来玩,通过pyinstaller和pywin32将py文件转为对应的可执行的exe文件。
程序网盘下载链接 ,提取码:8jde
python微信头像_Python玩微信——头像组字相关推荐
- python代码图片头像_Python玩微信——头像组字篇
正好今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入, ...
- python朋友圈头像_Python读取微信好友头像,拼成祝福语九宫格
今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入,头像 ...
- python朋友圈头像_Python拼接微信好友头像大图的实现方法
基于 itchat 库来获取微信好友头像并执行拼接操作,对微信上文字化好友列表数据进行可视化展示. 获取好友头像 def save_avatar(folder): """ ...
- python玩微信_Python玩微信(1):初探wxpy
1.前期准备 wxpy项目主页里面有它的相关介绍 pyecharts项目主页,是python与百度echarts的桥梁,我用来做数据分析 2.查看微信好友男女比例 fromwxpyimport*fro ...
- 最炫python表白代码_Python制作微信好友背景墙教程(附完整代码)
引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟 ...
- 微信公众号python人工智能回复_python实现微信机器人: 登录微信、消息接收、自动回复功能...
安装wxpy pip install -u wxpy 登录微信 # 导入模块 from wxpy import * # 初始化机器人,扫码登陆 bot = bot() 运行以上代码,会生成一个二维码, ...
- python 操作微信 群发_python 调用微信 发消息
本篇文章讲述的是调用 python 的 wxpy 包自动发送微信消息. 相当于 登录 微信网页版. 具体代码方便复制,提供一份文字版代码 #!/usr/bin/env python3 # coding ...
- 微信小程序python人工智能回复_python实现微信小程序自动回复
本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经 ...
- python爬微信头像_Python爬微信好友头像,性别,所在地区
#coding:utf8 importrequestsimportjsonfrom collections importCounterfrom pyecharts importPieimporthas ...
最新文章
- css游戏代码_介绍CSSBattle-第一个CSS代码搜寻游戏
- python变量需要声明吗_python中可以声明变量类型吗
- UGUI_不添加摄像机解决UI与UI特效叠层
- Python编程专属骚技巧8
- FLV封装格式的分析
- php微信支付使用ajax,接入微信公众号支付,选择支付方式后,只弹出“error’”(php)...
- 实现让两个DIV横向排列方法揭秘
- 专网解决方案:中兴以全光园区解决方案打造智慧园区
- 软件冒烟测试报告,冒烟测试方法及报告模板
- 小米路由器怎么设置无盘服务器,小米路由器怎么设置?
- 佳能mf4400打印机无线服务器,佳能Canon imageCLASS MF4400 驱动
- 首次曝光 唯一全域最高等级背后的阿里云云原生安全全景图
- Foxmail设置标签
- 小心金蝶专业版16.0后门木马勒索后门程序kissme.dll文件
- excel如何提取图片中的文字?
- 云服务器有几种类型,一般要如何选购
- conda查看版本包命令
- 低速接口之SPI接口,分类,四种模式,特点
- Hadoop入门 集群崩溃的处理方法
- 使用DirectShow技术切换双声道音频声道的方法
热门文章
- 论文写作——韬ASMI29 introduction、related work两部分语句修改
- 百度网盘偷偷更新,白嫖用户终于也可以下载不限速了
- 【安装配置java环境】
- MongoDB 文档数据库
- [论文阅读]Auto-Encoder Guided GAN for ChineseCalligraphy Synthesis
- cubuide RS485问题排查
- html段落简字前带繁字,简体字转繁体字有什么方法?Word怎么繁体转简体?
- 高温高湿环境人体热负荷预警仿真模型
- zigbee学习参考(1~42 )
- [FROM WOJ]#2040 山贼集团