Python で写真にファイル作成日を載せる
Python で写真データの作成日を調べて,それを写真に掲載する方法について紹介する。
プログラムの解説
ライブラリ読み込み
まずは,PIL モジュール,datetime モジュール,pathlib モジュールから必要なオブジェクトを取り込む。
from PIL import Image, ImageDraw, ImageFont
from datetime import datetime
from pathlib import Path
出力先を作成
次に,ファイル作成日を掲載した写真を出力するフォルダ ‘dest’ を作成する。
current=Path()
target=Path('dest')
target.mkdir(exist_ok=True)
作成日の書式設定
それから,データ作成日の書式設定を行う。フォントの種類は ‘arial’,フォントサイズは 36 としている。また,横方向,縦方向それぞれマージンを設定できるようにしている。
fnt =ImageFont.truetype('arial',36)
marginx=20
marginy=20
作成日の書き込み
最後に,現在のフォルダ内にある拡張子 ‘.jpg’ ファイル全てにファイル作成日を書き込む。ファイル作成日は,写真の右下に書き込むようにしている。
for path in current.glob('*.jpg'):
st_ctime=path.stat().st_ctime
ctime = datetime.fromtimestamp(st_ctime)
datestr=f'{ctime:%Y/%m/%d}'
boxsize=fnt.getbbox(datestr)
img=Image.open(path)
draw=ImageDraw.Draw(img)
draw.text((img.width-boxsize[2]-marginx,img.height-boxsize[3]-marginy),datestr,font=fnt)
img.save(target/path)
写真データ作成日を載せた写真の例
Python で写真データの作成日を載せた写真の例を示す。右下に写真の作成日である 2023/08/10 が書き込まれていることがわかる。
参考文献
- リブロワークス,「つなげば動く!Python ふりがなプログラム パターン文例 80」,インプレス,2020年7月21日