pythonのpillowモジュールを利用して、画像に
テキストを描画していきたいと思います。
このプログラムで出来る事
GUIに頼らず、CUIのみで画像に文字列を重ねることができます。
画像のタイトルなどを表示させるのに利用します。
成果物は以下です。今回はYouTubeのサムネイル画像を作成しました。
pythonのソースコード
作成したソースコードは以下です。
参考にした書籍は退屈なことはPythonにやらせよう ノンプログラマーにもできる自動化処理プログラミング [ Al Sweigart ]です。
(ソースコード内に、コメントを記載したため、解説は割愛します。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# coding: UTF-8 from PIL import Image from PIL import ImageDraw from PIL import ImageFont font_size = 84 # 描画する文字の大きさ font_name = "C:\Windows\Fonts\msmincho.ttc" # 描画する文字の書式(MS明朝を指定) in_Img = r"sun.jpg" # 描画前の画像 out_Img= r"sun_with_text.png" # 描画後の画像 draw_x = 90 # 描画横位置(左を0) draw_y = 75 # 描画縦位置(上を0) text = "NCS" # 描画するテキスト # 描画前の画像を展開 image = Image.open(in_Img) draw = ImageDraw.Draw(image) # フォントの書式、サイズを指定 font = ImageFont.truetype(font_name, font_size) # 画像にテキストを描画 draw.text((draw_x, draw_y), text, font=font, fill=(255,255,255,255)) # fillはRGBAを指定((255,255,255,255)は白) # 画像を保存 image.save(out_Img) |
事前準備
ソースコードの動作にはpythonのインストールに加え、
pillowモジュールの導入が必要です。
次のコマンドを実行します。
1 |
pip install pillow |
コメント