python入门后须要不断的练习才能加深印象,为了提高本身的python编码能力,特意找了一些python小例子进行练习,这个是原文地址:https://github.com/Yixiaohan/show-me-the-code 全部的题目都在这里。虽然不能作到天天一题,可是会作到有时间就作一道练习题。python
下面开始第一题:git
第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,相似于微信未读信息数量那种提示效果。 相似于图中效果github
分析问题:微信
经过分析题目能够得知,本题是在图片上面进行的操做,应该是两个图层,一个是QQ头像(固定的),另一个是红色数字(可变的),须要用到python的PIL模块来处理图像问题。ide
解决问题:字体
1 先贴上代码编码
#!/usr/bin/env python # -*- coding: utf-8 -*- from PIL import Image,ImageDraw,ImageFont def addNum(nub,filepath): img = Image.open(filepath) width,height = img.size fontSize = height/4 draw = ImageDraw.Draw(img) #肯定字体格式和字体大小 ttFont = ImageFont.truetype('Arial.ttf',fontSize) #肯定显示的 位置,数字,颜色,字体 draw.text((width-fontSize,0),nub,(256,0,0),font=ttFont) del draw img.save('qq_addNub.jpg') img.show() if __name__ == '__main__': addNum('4','qq.jpg')
2 代码解析spa
首先须要准备好一张图片,code
而后,这里使用到了PIL模块的 Image,ImageDraw,ImageFont 三个模块,Image主要负责打开一个图片,ImageDraw负责绘制图形,ImageFont负责字体类型、大小等orm