pillowを使用しPythonで画像にテキストを追加する

pillowを使用しPythonで画像にテキストを追加してみます。

PIL(Python Image Library)・pillowモジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。

■Python

今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)

■画像ファイルを用意する

pillowを使用しPythonで画像にテキストを追加する前に、テキストを追加する画像ファイルを用意します。

今回用意したのは、森の画像(forest_sample.jpg)です。この画像は著作権フリーのものを使用しています。

なお、ファイルが保存されている場所は「C:\Users\user\test(フォルダパス)」です。

■pillowを使用し画像にテキストを追加する

画像の用意ができましたので、pillowを使用し画像にテキストを追加するスクリプトを書いていきます。

■コード

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw

img = Image.open(r"C:\Users\user\test\forest_sample.jpg")
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 100)
draw.text((50,90), "TEXT" ,(255,255,255),font=font)

img.save(r'C:\Users\user\test\forest_sample_text.jpg')

pillowモジュールを呼び出して、imgという変数を作成し、その中にImage.open()と記述します。括弧内に、今回用意した画像を指定し格納します。

格納後、drawという変数を作成し、その中にImageDraw.Draw()と記述します。括弧内に今回の画像を指定し、Drawオブジェクトを作成し格納します。

格納後、fontという変数を作成し、その中にImageFont.truetype()と記述します。括弧内には第1の引数に使用するフォント名を指定し、第2の引数でフォントのサイズを指定し格納します。今回は「arial.ttf」というフォントを使用します。なお、使用するフォントは、フォントファイルを事前にダウンロードしておく必要があります。

格納後、draw.text()と記述します。括弧内には第1の引数に画像内でのテキスト位置(x、y)で指定します。第2の引数は、画像内に表示させるテキストを記述します。第3の引数は、テキストの色(R,G,B)を指定します。第4の引数は、テキストのフォントを指定し、格納します。

最後にimg.save()で画像ファイルを保存します。

■実行

今回のスクリプトを「p_image_text.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、img.save()で指定したファイル場所にテキストが追加された画像ファイルが保存されていることが確認できました。画像ファイルの中身を確認すると、テキストが追加されていました。

コメント

タイトルとURLをコピーしました