题目来源:show-me-the-Code
0号题目:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果。(偷个懒直接用链接的地址)
分析:这道题目就是考察最简单的图片处理,我这里用的是PIL
库。
上代码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PIL import Image, ImageFont, ImageDraw
image = Image.open('0.jpg')
w, h = image.size
#创建画笔
draw = ImageDraw.Draw(image)
#选择一个字体
font = ImageFont.truetype('Arial.ttf', 80)
#画一个字符串
draw.text((w-50, 10), "4", font=font, fill=(255,0,0))
image.show()
这是效果图:
最后简单说一下PIL
库的事儿,各位看官如果看到这段代码直接copy过去用可能会有一点问题。这里的问题是字体,也就是那个叫Arial.ttf
的文件,这是一种字体的文件,如果你当前目录下没有这个字体的文件,运行代码就会报错,建议先下载字体之后,再运行代码。font = ImageFont.truetype('Arial.ttf', 80)
这句代码的第二个参数是指画出来的字体大小,这里根据你图片的大小适当调整。
另,draw.text((w-50, 10), "4", font=font, fill=(255,0,0))
这句代码,第一个参数指的是绘画的位置,第二个参数是绘画的内容,此处根据题目要求,写了一个"4"
,第三个参数是字体,最后一个参数是颜色。这些应该都很好懂。
终于又开始写博客了,希望可以坚持下去。
以上。