• Pythonその1 舞台写真をリサイズして劇団のクレジットを入れる
  • HOME
  • Pythonその1 舞台写真をリサイズして劇団のクレジットを入れる
マリーゴールド

Pythonその1 舞台写真をリサイズして劇団のクレジットを入れる

写真って撮影した段階では結構大きなサイズですよね。
WEBに貼ったり、Twitterに出したり、リリース用として媒体に送ったりするときは、サイズを小さめに変更(小さめにリサイズ)して送ったりするのが一般的だと思います。
また、【(c)写真家の名前】みたいにクレジットを入れたい場合もあると思います。

写真をリサイズするには、フォトショップ的なソフトで開いて、サイズを変更して、文字ツールでクレジットを打ち込んで、適切な位置に配置して、jpgかpngで書き出して保存。
これが1枚だけなら大したことないですが、たくさん写真があると、けっこう時間と手間がかかるんですよね。

ということで、『フォルダの中の写真全部を、横幅600pxにリサイズして、写真の左下にクレジットを入れて保存する』というpythonプログラムを書いてみました。

#! python3
# resize_credit - テキストファイルの数字を元に画像をリサイズして、クレジットを追加

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw
import os, glob

files = glob.glob('./*')
widthfile = open('size_credit.txt', encoding='utf-8')
wc = widthfile.readlines()
w = wc[0].replace('\n','')
c = wc[1].replace('\n','')


for f in files:
    try:
        img = Image.open(f)
        img_resize = img.resize((int(w),int(img.height*int(w)/img.width)), Image.LANCZOS)
        draw = ImageDraw.Draw(img_resize)
        font = ImageFont.truetype('mplus-1m-medium.ttf', 15)
        draw.text((15,int(img_resize.height)-32), str(c), fill=(256,256,256), font=font)
        title, ext = os.path.splitext(f)
        img_resize.save(title + '_w' + str(w) + ext ,quality=100)

    except OSError as e:
        pass

 

使い方

1)まず、Pythonをインストールします。
python インストール」などと検索して、なんとか自分のパソコンにインストールしてください。
実は僕の場合、インストールで結構つまずきました。いろいろやり方があるらしいんですが、公式(https://www.python.org/)からダウンロードしてインストールするのが一番うまくいきました。僕の場合は。

 
2)ライブラリをインストールする
ここも馴染みがなさすぎて戸惑ったんですが、macの場合、ターミナルというのを立ち上げて、

$ pip install Pillow

とかやって、インストールしないといけないんです。
今回は Pillow をなんとかしてインストールしてください。

 
3)pythonファイルとsize_credit.txtとフォント(mplus-1m-medium.ttf)をダウンロード

こちらからダウンロードして、zipファイルを解凍してください。
resize_credit_python

mplus-1m-medium.ttfは、こちらからダウンロードできます。

 
4)フォルダの中に写真を入れて、size_credit.txtを変更

ここまでできたら、もう一歩です。
どこかにフォルダを作って、今ダウンロードしたpythonファイル、size_credit.txt、mplus-1m-medium.ttfを入れます。
そこにさらに、リサイズしたい写真たちを入れます。

こういう感じです。

フォルダ構造

そして、size_credit.txtを開いて、

600
(c)クレジット

と、あるところを変更してください。

一行目→リサイズ後の横幅(px)
二行目→クレジットのテキスト
です。

クレジットが不要な場合は、二行目を空白にしてください。

 
5)resize_credit.py をIDLEで開いてF5で実行!

すると、

マリーゴールド クレジット入り
 
入れていた写真を元に、リサイズしてクレジットを追加した写真が新たに生成されます! 写真がたくさんあっても同じようにできるので楽だと思います。
※元の写真ファイルは変更されずに残ります。

Pythonとライブラリをインストールするところがちょっとやっかいなんですが、Google検索するといろいろな人が解説してくれています。
pythonファイルを修正すれば、「クレジットを右下に入れる」「クレジットの色を変える」「クレジットのフォントを変える」などもできます。必要であればやってみてください。

例1)fill=(256,256,256) → fill=(0,0,0) とすると文字の色が黒に変わります。
例2)draw.text((15,・・・ → draw.text((400,・・・ とすると文字の位置が右の方へ変化します。

一度入れてしまえば後は楽に使えるはずなので、ぜひ試してみてください。

自動化企画トップに戻る

(文:森脇孝/エントレ編集部)