1. 程式人生 > >python製作鬥圖生成器

python製作鬥圖生成器

網上各種帶文字的表情圖片都被大家玩壞了,今天就和大家一起用 python 親自做一個帶字表情圖片生成器。

 

不知道大家有沒有看到網上有很多人都在說 "人生苦短,我用 python",這句話我之前也不是很理解,覺得人生苦短和用python貌似並沒有什麼關係,後來算是對這句話慢慢有了自己的理解,我覺得一個重要的原因就是 python 有非常多的庫,而且功能很強大,很多功能都不再需要自己造輪子,拿過來就能直接使用,這樣真的會節省很多的時間和精力,所以我們就把時間浪費在更多有趣的事情上去吧。說到這一點,其實就是跟我今天要用到的一個圖片處理庫 pillow 有關,我們用 pillow 只需短短几行程式碼就能實現給圖片加字的功能。

pillow 是python中一個強大的圖片處理庫,比如常見的圖片旋轉、翻轉、濾鏡效果等,都可以很簡單的用 pillow 來實現,我前面的文章也有用到過 pillow 對圖片進行處理,如果你還沒有安裝 pillow 的話,先使用命令 pip install pillow 來安裝,下面先來看一段程式碼,這段程式碼主要是生成一張文字圖片。

 

from PIL import Image, ImageDraw, ImageFont

content = '你怎麼這麼好看吶' #這是你要加的文字


image = Image.new(mode="RGB", size=(500,260), color=(255,255,255)) #建立一個空白的圖片,大小為300*200,背景為白色
draw = ImageDraw.Draw(image)
imageFont = ImageFont.truetype("C:\Windows\Fonts\FZY4JW.TTF", 58) #定義文字字型及字號,這裡用你自己電腦本地的字型

#下面三行是用來計算文字的位置,用來居中文字內容
txtSize = draw.textsize(content, imageFont)
pos_x = (500 - txtSize[0]) / 2 if 500 > txtSize[0] else 0
pos = (pos_x, 100)

draw.text(pos, content, font=imageFont, fill='#000000') #文字寫入圖片
image.save('68.png') #儲存圖片

 

我們再來升級下程式,給一張表情圖片加字,實現一個鬥圖表情生成器,下面是完整的實現程式碼。

 

from PIL import Image, ImageDraw, ImageFont

content = '也不知道為啥,我好開心啊' #這是你要加的文字


# image = Image.new(mode="RGB", size=(500,260), color=(255,255,255)) #建立一個空白的圖片,大小為300*200,背景為白色
image = Image.open('tim1.jpg') #開啟一張圖片
draw = ImageDraw.Draw(image)
imageFont = ImageFont.truetype("C:\Windows\Fonts\FZY4JW.TTF", 25) #定義文字字型及字號,這裡用你自己電腦本地的字型
width,height = image.size #獲取圖片大小

#下面三行是用來計算文字的位置,用來居中文字內容
txtSize = draw.textsize(content, imageFont)
pos_x = (width - txtSize[0]) / 2 if width > txtSize[0] else 0
pos = (pos_x, 50)

draw.text(pos, content, font=imageFont, fill='#000000') #文字寫入圖片
image.save('68.png') #儲存圖片

 

 

人生苦短,用短短几行 python 程式碼就能實現生活中實用的小功能,是不是很有意思呢。