Python之每日一練QQ頭像上加數字

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容