0%

Python练习册:0000

========================

题目

    将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

0000

分析

这里需要给图片添加文字信息,这里使用图像处理的相关库——PIL

pip install pillow

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
from PIL import Image,ImageDraw,ImageFont #导入所需库

def add_num(img,num_text,num_size):

#获取一个Image可以直接操作的对象
img = Image.open(img)
draw = ImageDraw.Draw(img)

#设置字体文件,大小,颜色
font = ImageFont.truetype("consolab.ttf",size=num_size)
fillcolor = "#ff0000"
width,height = img.size

#绘制
draw.text( (width - 40,10),num_text,font=font,fill=fillcolor)

#保存结果
img.save("num.png","png")

if __name__ == "__main__":
img = "1.png"
add_num(img,"99",30)

扩展

  1. Windows/Linux 字体文件不一样,如何让其具有通用性?
  2. 如何让代码有更高的复用性(图片类型,指定字体属性)?

参考

欢迎关注我的其它发布渠道