- 最近想在圖像上,添加想要的文字,首先想到的是matplotlib,但是這個更加傾向於畫圖(柱狀圖,折線圖之類)
- opencv這個庫肯定也行,但是為了和我現有程序連接在一起,我選擇了PIL
- 其中字體的設置,具體看自己系統里面有哪個字體,不過可以自己設置一個外置字體,隨程序放在一起,在代碼中指定路徑即可,這里是SimHei.ttf下載路徑,提取碼:g24h
- 具體代碼如下:
from PIL import Image, ImageDraw, ImageFont
def image_add_text(img_path, text, left, top, text_color=(255, 0, 0), text_size=13):
img = Image.open(img_path)
# 創建一個可以在給定圖像上繪圖的對象
draw = ImageDraw.Draw(img)
# 字體的格式 這里的SimHei.ttf需要有這個字體
fontStyle = ImageFont.truetype("SimHei.ttf", text_size, encoding="utf-8")
# 繪制文本
draw.text((left, top), text, text_color, font=fontStyle)
return img
img_path = 'assets/1.jpg'
im = image_add_text(img_path, '這是一個測試', 50, 100, text_color=(0, 0, 0), text_size=20)
im.show()
- 結果對比圖:
