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