Python之每日一练QQ头像上加数字

python入门后需要不断的练习才能加深印象,为了提升自己的python编码能力,特地找了一些python小例子进行练习,这个是原文地址:https://github.com/Yixiaohan/show-me-the-code所有的题目都在这里,下面开始第一题,duanduan手...

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

Python之每日一练QQ头像上加数字_第1张图片
示例效果图

一、问题分析:

1.通过分析题目可以得知,本题是在图片上面进行的操作,应该是两个图层,一个是QQ头像(固定的),另外一个是红色数字(可变的),需要用到python的PIL模块来处理图像问题。

2.安装PIL和pillow库:pip install PIL和pip install pillow

二、代码实例


#coding:utf-8


fromPILimportImage,ImageDraw,ImageFont


defaddNum(nub,filepath):


img = Image.open('C:\\Users\\admin\\Desktop\\qq.jpg','r')


width,height = img.size


fontSize = height /8


draw = ImageDraw.Draw(img)#确定字体格式和字体大小


ttFont = ImageFont.truetype('C:\\Users\\admin\\Desktop\\Arial.ttf',fontSize)


draw.text((width-fontSize,0),nub,(256,0,0),font=ttFont)#确定显示的 位置,数字,颜色,字体


deldraw


img.save('qq_addNub.jpg')


img.show()


if__name__ =='__main__':


addNum('8','qq.jpq')


Python之每日一练QQ头像上加数字_第2张图片
运行代码结果

三、代码分析

1.需要准备好一张图片

2.导入PIL模块的Image,ImageDraw,ImageFont 三个模块,Image主要负责打开一个图片,ImageDraw负责绘制图形,ImageFont负责字体类型、大小等

3.字体资源库www.fontke.com/font/list/1020,2138/

参考文章:http://blog.51cto.com/yucanghai/1715170

你可能感兴趣的:(Python之每日一练QQ头像上加数字)