一. 需求: 在头像加上消息通知图标
二. 实现
1. 导入 PIL 包并导入相关的模块呢
from PIL import Image, ImageFont, ImageDraw
遇到问题: 因为使用的是 python3 直接导入 PIL 的安装 PIL 模块的时候报错, 使用 pip install PIL 安装 PIL 报错:
Collecting PIL
Could not find a version that satisfies the requirement PIL (from versions:)
No matching distribution found for PIL
原因:PIL 只支持 python2.x , 所有使用 python3 时候报错 解决方法:PIL 已经有一个分支项目, 安装分支项目 pillow 同样支持 PIL 模块
pip install Pillow
2.PIL 使用
1> 导入需要修改的图片
“`
image = Image.open(‘./images/icon.png’)
“`
2> 设置字体的字体和大小
“`
# font = ImageFont.truetype(字体, 字体大小)
font = ImageFont.truetype(‘arial.ttf’, 20)
“`
3. 调用 ImageDraw.Draw() 方法处理图片
“`
# 调用 Draw 方法, 传入导入图片对象
draw = ImageDraw.Draw(image)
draw.text((65, 0), ‘5’, fill=(255, 10, 10), font=font)
# draw.text 方法是用来在图片上加上文字
# draw.text((x, y), ‘5’, fill=(255, 10, 10), font=font)
# (x,y) 是一个元组用来表示生成的位置,x 表 x 轴的位置,y 表示在 y 轴的位置
# 需要注意的是: 坐标轴的原点是图片的左上角
# ‘5’ 表示的是需要在图片上写入的文字
# fill=(255, 10, 10) 表示的是 RGB 的色值
# font=font 表示字体, 传入定义好的字体
“`
` 4. 保存图片
# ‘./images/change.png”./images/’ 保存的图片路径,../change.png 需要保存的图片名
# ‘png’ 图片保存的格式
image.save(‘./images/change.png’, ‘png’)