![マリーゴールド](https://entre-news.jp/wp-content/uploads/2020/08/1_marrygold_w600-1.jpg)
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,・・・ とすると文字の位置が右の方へ変化します。
一度入れてしまえば後は楽に使えるはずなので、ぜひ試してみてください。
(文:森脇孝/エントレ編集部)