上一篇,用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玩微信——头像组字相关推荐

  1. python代码图片头像_Python玩微信——头像组字篇

    正好今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入, ...

  2. python朋友圈头像_Python读取微信好友头像,拼成祝福语九宫格

    今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下: 其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片: 代码中汉字文本可以自定义输入,头像 ...

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

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

  4. python玩微信_Python玩微信(1):初探wxpy

    1.前期准备 wxpy项目主页里面有它的相关介绍 pyecharts项目主页,是python与百度echarts的桥梁,我用来做数据分析 2.查看微信好友男女比例 fromwxpyimport*fro ...

  5. 最炫python表白代码_Python制作微信好友背景墙教程(附完整代码)

    引言 前段时间,微信朋友圈开始出现了一种晒照片新形式,微信好友墙,即在一张大图片中展示出自己的所有微信好友的头像. 效果如下图,出于隐私考虑,这里作了模糊处理. 是不是很炫,而且这还是独一无二的,毕竟 ...

  6. 微信公众号python人工智能回复_python实现微信机器人: 登录微信、消息接收、自动回复功能...

    安装wxpy pip install -u wxpy 登录微信 # 导入模块 from wxpy import * # 初始化机器人,扫码登陆 bot = bot() 运行以上代码,会生成一个二维码, ...

  7. python 操作微信 群发_python 调用微信 发消息

    本篇文章讲述的是调用 python 的 wxpy 包自动发送微信消息. 相当于 登录 微信网页版. 具体代码方便复制,提供一份文字版代码 #!/usr/bin/env python3 # coding ...

  8. 微信小程序python人工智能回复_python实现微信小程序自动回复

    本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能,必须在自己的微信中添加微信号xiaoice-ms(微软的微信机器人)才能实现,直接复制代码运行之后扫一扫二维码即可,经 ...

  9. python爬微信头像_Python爬微信好友头像,性别,所在地区

    #coding:utf8 importrequestsimportjsonfrom collections importCounterfrom pyecharts importPieimporthas ...

最新文章

  1. css游戏代码_介绍CSSBattle-第一个CSS代码搜寻游戏
  2. python变量需要声明吗_python中可以声明变量类型吗
  3. UGUI_不添加摄像机解决UI与UI特效叠层
  4. Python编程专属骚技巧8
  5. FLV封装格式的分析
  6. php微信支付使用ajax,接入微信公众号支付,选择支付方式后,只弹出“error’”(php)...
  7. 实现让两个DIV横向排列方法揭秘
  8. 专网解决方案:中兴以全光园区解决方案打造智慧园区
  9. 软件冒烟测试报告,冒烟测试方法及报告模板
  10. 小米路由器怎么设置无盘服务器,小米路由器怎么设置?
  11. 佳能mf4400打印机无线服务器,佳能Canon imageCLASS MF4400 驱动
  12. 首次曝光 唯一全域最高等级背后的阿里云云原生安全全景图
  13. Foxmail设置标签
  14. 小心金蝶专业版16.0后门木马勒索后门程序kissme.dll文件
  15. excel如何提取图片中的文字?
  16. 云服务器有几种类型,一般要如何选购
  17. conda查看版本包命令
  18. 低速接口之SPI接口,分类,四种模式,特点
  19. Hadoop入门 集群崩溃的处理方法
  20. 使用DirectShow技术切换双声道音频声道的方法

热门文章

  1. 论文写作——韬ASMI29 introduction、related work两部分语句修改
  2. 百度网盘偷偷更新,白嫖用户终于也可以下载不限速了
  3. 【安装配置java环境】
  4. MongoDB 文档数据库
  5. [论文阅读]Auto-Encoder Guided GAN for ChineseCalligraphy Synthesis
  6. cubuide RS485问题排查
  7. html段落简字前带繁字,简体字转繁体字有什么方法?Word怎么繁体转简体?
  8. 高温高湿环境人体热负荷预警仿真模型
  9. zigbee学习参考(1~42 )
  10. [FROM WOJ]#2040 山贼集团