【Python】画像の中に文字を埋め込む方法(Pillow)

新米太郎
新米太郎

皆さんこんにちは新米です。

今回はPythonを用いて画像に文字を埋め込む方法を紹介します。

やりたいこと

Pythonを実行すると、文字が挿入される。

【Python】画像の中に文字を埋め込む方法

◇画像の中に文字を埋め込むまでの流れ

pipでPillowをインストール → コード作成 → 実行

Pillowのインストール

Pillowとは、、

Pythonで画像編集を行う際に使用されるライブラリのことです。
JPEGやPNGなどの代表的な画像形式に対し、サイズの変換やクロッピング等をすることが可能です。

 

以下を実行してPillowをインストール

pip install Pillow

もしくは

pip3 install Pillow



画像の中に文字を埋め込む

Pillowをインストールしたら以下のコードを作成し実行。


from PIL import Image,ImageFont,ImageDraw

def main():
  image_path = './image/python.jpg'
  font_path = '/System/Library/Fonts/ヒラギノ角ゴシック W5.ttc';
  font_size = 100 #文字の大きさ
  text = '新米Plog × Python学習'
  color = (255,255,255)#文字の色

  image = Image.open(image_path)
  font = ImageFont.truetype(font_path,font_size)#フォントの指定
  draw = ImageDraw.Draw(image)
  draw.text((110,20),text,font=font,fill=color)
  image.save(image_path)

if __name__ == '__main__':
  main()


  main()

解説

ImageFont.truetype('利用したいフォントのファイルパス',フォントの大きさ)

draw = ImageDraw.Draw(画像のパス)

draw.text((x座標,y座標),'テキスト',font=フォント,fill=色)

画像に文字(テキスト)を挿入する場合は、ImageFont,ImageDrawをインポートします。

ImgFont:フォントのオブジェクト生成
ImageDraw:Imageオブジェクトに対して描画処理
今回はtextメソッドで文字を描画します。

なお、埋め込む位置は座標で決めて上げます。

フォントパス一覧

フォントファイルの場所は OSや設定によって異なります。
以下に代表的なフォントのパスを載せておきます。
バージョンによっては異なる場合があります。

 

OS パス 補足事項
Windows 10
C¥Windows¥Fonts
C¥Users¥(ユーザ名)¥AppData¥Local¥Microsoft¥Windows¥Fonts ユーザフォント
Mac OS
/System/Library/Fonts/ システムフォント
/Library/Fonts/ ライブラリフォント
/Users/ユーザ名/Library/Fonts/ ユーザフォント
Ubuntu 18.04 /usr/share/fonts

まとめ

いかがだったでしょうか。

他にもPillowライブラリで様々な画像編集ができるので
興味のある方は調べてやってみて下さい。

新米太郎
新米太郎

最後まで読んでくれてありがとう!



コメント

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