Python小程序系列开始上线!
Python作为一个功能强大的编程语言,能用到的场景十分之多。这个系列旨在抓住奇思妙想,和严谨的代码结合,碰撞出火花。
作为开篇,这一次我们来给你的微信头像加上一条“未读消息”:
第一步就是准备好你食材,不对,是你的头像,我们拿下面的图来做实验:
还有不能忘了红色的圈圈logo:
Python小程序要做的就是apple+pen=applepen的操作。把红色圈圈插入到微信头像上面,并且加上未读消息数字。
第二步就是上代码,这次我们用到的是一个叫PIL(Python Image Library)的模块,它是是python下的图像处理模块,支持多种格式,并提供强大的图形与图像处理功能:
我们使用了Image, ImageFont, 以及ImageDraw三个库。
代码讲解:
首先我们给两张图片命好名字,一个是微信头像,一个是红色圈圈logo。有了名字之后,使用open函数分别打开两张图片。先处理图二红色圈圈,把图片中的白色部分变得透明,这样好把红色圈圈插入到头像中,不然白色的部分会掩盖头像内容。这里我们用了自己定义的transparent函数处理,具体函数见代码讲解底部内容。
paste函数负责把透明化后的红色圈圈粘贴到头像图中,(40,0)是粘贴位置,大家到时候可以自己调整。接下来就是在红色圈圈中写未读消息的数字了,我们使用draw.text函数来完成这个操作。单引号里面的数字就是你要填写的数字,这里我们设置成1。前面的(198,3)是数字写入的位置,也是可以自主调节的。最好我们将完成好的图片用save函数存储起来
变透明的函数:
好了,展示完代码,相信大家已经基本搞明白了。如果想要亲自尝试代码的,可以点文末的左下角的阅读原文,去我的github下载程序。
接下来就是见证奇迹的时刻:
哈哈,效果还是不错的。
我们再试一个新的头像:
看效果:
需要注意的,新的头像需要调整红色圈圈和数字的位置。一个可以改进的地方是针对不同的头像不要自己调节位置,在未来的版本我们争取实现。