目前在学习廖雪峰老师在慕课网上的python的入门以及进阶课程,同时也刷刷GitHub上的python练习册,链接如下:链接这是第0题,只是一个记录,希望自己可以一直记录下去。
题目如下:
**第 0000 题:**将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。
思路:
对于图像上加载数字,等同于加载文字,所以会用到python的PIL库,通过百度如何实现图片上加载文字了解到ImageDraw这个模块,然后我百度了这个模块的相关,发现一篇博客介绍挺详细的,链接发现介绍到最后就可以看到关于text属性是符合题目要求了,找到相关的就很容易了。
代码如下:
#coding=utf-8
import PIL
from PIL import Image,ImageDraw,ImageFont
font = ImageFont.truetype('simsun.ttc',24) #设置字体及其大小 不同字体可在c:\windows\font中找到
im01 = Image.open("F:\\Python\\practice\\0cat.jpg") #路径不能包含中文,要打双斜线
draw = ImageDraw.Draw(im01)
draw.text((100,6),'4', fill=(255,0,0),font=font)
#draw.text((10,6),u'晚上', fill=(255,0,0),font=font)
#draw.text((50,6),unicode('白天','utf-8'), fill=(255,0,0),font=font)
im01.show()
数字和文字的添加都是一样的,只是中文在处理时有两种方式,一种在前面加u,一种是unicode(‘文字’,‘utf-8’)