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日

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です