python入門后需要不斷的練習才能加深印象,為了提升自己的python編碼能力,特地找了一些python小例子進行練習,這個是原文地址:https://github.com/Yixiaohan/show-me-the-code所有的題目都在這里,下面開始第一題,duanduan手...
第 1 題:將你的 QQ 頭像(或者微博頭像)右上角加上紅色的數字,類似于微信未讀信息數量那種提示效果。 類似于圖中效果
一、問題分析:
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')
三、代碼分析
1.需要準備好一張圖片
2.導入PIL模塊的Image,ImageDraw,ImageFont 三個模塊,Image主要負責打開一個圖片,ImageDraw負責繪制圖形,ImageFont負責字體類型、大小等
3.字體資源庫www.fontke.com/font/list/1020,2138/
參考文章:http://blog.51cto.com/yucanghai/1715170