【Python】为图片加上数字上标

Description

  • Yixiaohan/show-me-the-code Python 练习册,每天一个小程序 第0000题
  • 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

【Python】为图片加上数字上标_第1张图片

Notes

这个小项目涉及到了PIL中Image、ImageDraw还有ImageFont模块的简单使用。需要注意的有以下几点:

  • 调用Image.open()打开image之后,记得要再调用close()将其关闭,不然会一直占用内存资源。
  • 注意写字位置的坐标,如果超过image的坐标范围就看不见了。

My Code

"""
* 0000
* by VegB
* 2017/1/24
"""
from PIL import Image, ImageDraw, ImageFont

def addNumToImg(img):
    drawImg = ImageDraw.Draw(img) # 创建一个绘画对象,在img上面画
    font = ImageFont.truetype("arial.ttf",40) # ImageFont对象
    # print(img.size)
    drawImg.text((img.width-40, 20),"9+",(255, 0, 0),font) # 确定好坐标不能超了!!!
    img.save("modified.jpg","jpeg") # 保存修改后的图片,(修改后的名字,格式)

    modified_img = Image.open("modified.jpg")
    modified_img.show()


img = Image.open("pic.jpg")
addNumToImg(img)
img.close()

你可能感兴趣的:(Python)