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日
更新履歴
- 2023年8月11日 新規作成
- 2026年2月28日 加除修正

