Python 練習冊,天天一個小程序 -- 0000題

    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

相關文章
相關標籤/搜索