正好今天有位老哥过生日,结合着微信头像和点阵字,搞了个头像拼字的代码,朋友圈九宫格效果如下:
其中,每个字都是16*16的点阵,点阵中每个点可以拆解为4个好友头像图片:
代码中汉字文本可以自定义输入,头像图片也可以是备好的其他图片。怎么样,比之前的点阵字是不是更酷了些?
思路
基本思路很直接:读取微信好友头像,按照汉字的点阵信息进行拼接,生成完整的单字图片。
读取微信好友头像的思路上篇提到过:利用开源的微信接口itchat,扫码登录个人微信,读取好友信息中的头像存到本地。
获取汉字的点阵信息也是按照之前的思路:利用汉字库HZK16文件来实现。拿到点阵信息后,将背景图片当做16*16点阵,用头像图片和空白来替代点阵中的点。这里为了提高字笔画的丰富性,我采用一个点对应4个头像图片。
itchat
itchat是一个开源的微信个人号接口,使用python调用微信从未如此简单。