Python 在圖片上繪製文字

本篇 ShengYu 將介紹如何使用 Python 在圖片上繪製文字,在做影像處理時常常會需要在圖片上繪製文字,這邊我們使用 python 的 PIL 模組來在圖片上繪製文字。

安裝 PIL

基本上新版本的 Python 應該都有內建 PIL,如果還未安裝 PIL 的話請參考這篇

使用範例

以下範例 ShengYu 是準備在 lena.jpg 這張圖片上繪製文字,
先透過 ImageFont.truetype() 讀入要使用的字型,
之後再用 ImageDraw.Draw.text() 繪製 “Hello” 白色的文字,顯示出來。

draw-text-on-image.py
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from PIL import Image, ImageDraw, ImageFont

img = Image.open("lena.jpg")
print(img.size)

font = ImageFont.truetype('Pillow/Tests/fonts/FreeMono.ttf', 36)
draw = ImageDraw.Draw(img)
draw.text((10, 10), 'Hello', font=font, fill=(255,255,255))

print(img.size)
img.show()

結果如下圖所示:
左邊為原圖,右邊為縮放後的圖。

ImageDraw.Draw.text 參數的詳細細節請參考這裡

相關主題
Python 第一支 Python 程式
Python 圖片模糊化 blur
Python 旋轉圖片 rotate
Python 縮放圖片 resize
Python 裁切裁剪圖片 crop