【Pyhon3】Pillowで画像にテキストを描き込む
※2018年頃に別ブログで書いたアレのリメイクです。
画像にテキスト描きこむのに楽な方法ねえかなー、という所で調べてみたところ、Pythonで画像処理ができるライブラリが色々とあるらしい。OpenCVが有名だし楽しそうではあったのだけれど、やりたい事に対して導入手順がめんどそうだったので、Pillowってのでお手軽にやってみる事にした。
もともとはPIL(Python Image Library)っていう画像操作のライブラリが、更新停止に伴って後継になって生まれたのがpillowらしい。はえー。
easy_instal pillow
Pythonへのインストールはこげな感じでOK。たぶんpip installでも行ける。
ためしに、こんな画像に文字を描き込んでみよう。
# coding: UTF-8
from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont
font_size = 24
font_name = "C:\Windows\Fonts\meiryo.ttc"
src = r"pillow_test_src.png"
dest= r"pillow_test_dest.png"
draw_x = 140
draw_y = 120
text = "うんこ野郎"
image = Image.open(src)
draw = ImageDraw.Draw(image)
font = ImageFont.truetype(font_name, font_size)
draw.text((draw_x, draw_y), text, font=font, fill=(255,0,0,128))
image.save(dest)
フォント指定はttfだとかttcのTrueTypeならなんでもいいと思うのだが、ウインドウズ備え付けのさいつよフォント(※個人の感想です)であるメイリオを使ってみた。文字色(fill)は、赤のアルファ50%を指定。
いい感じに描き込めたZE☆