2024/09/06(金)写真画像ファイルにフィルム写真風の日付を挿入するシェルスクリプト改3
前回の記事は,説明がわかりづらく,不十分だったため,もう少し解説を充実させました.
簡単な内容ですが,誰かのお役に立てれば嬉しいです.

1 できること
本バージョン“改3”では,次の機能が実装されています.- 一般的なデジタルカメラで撮影した写真ファイルに,後付けでフィルム写真風の日付を追加します.
- 実際のフィルムカメラのデート機能による日付よりも大きく,ハッキリと表示されるように設定してあります.
- これは,プロジェクター等で投影したときに判読しやすいことが必要と考えたからです*1.用途に応じて調整してください.
- 出力される文字は,オレンジ色に塗りつぶされ,指定幅でグレー(透過の薄い黒)にて縁取られた文字です.
- 写真ファイルのピクセル幅と高さを数えて,画面と日付の大きさの比率を維持して日付を挿入します.
- 機材によって写真のピクセルサイズが異なるのは当然なので,この調整機能は必須と考えました.
- 写真のピクセルサイズが小さすぎると破綻すると思います.撮って出しの大きなJPEGファイルを処理対象にするのが推奨です.
- 処理後の写真ファイルは先頭に年月日が追加されます.
- 元ファイルの名前が“_IMP0221.JPG”だった場合,“p20180813__IMP0221_TS.jpg”のようになります.
- 元ファイルの名前は恐らくどのような文字列・長さでも対応しています.ただし半角英数の短めのファイル名が推奨です.
- 万が一画像処理に失敗しても元のファイルが消失することは多分ありません.
- 処理後の写真ファイルのEXIF情報は維持されます.写真のピクセルサイズも変わりません.画質は少し劣化します(JPEGファイルをそのまま複数回処理しているため.).
- 無料(ただし無保証.(一応ですが)GPLライセンスとします)
- 好きなフォントに差し替え可能.
- 日付の位置や大きさ等を,コードを改変して自由に設定できる.
- コマンドライン(bashシェル)からお手軽に操作できる.
- 写真ファイルのピクセルサイズがバラバラでも,配置やサイズの比率を維持して大量に処理できる.
- 日付を挿入するだけなのに割と時間が掛かる(ImageMagickを何度も実行しているため).
- パイプ入力に対応していない.
- 1999年以前の日付に対応していない*4.
- 縦構図の写真を処理する際,処理前に画像を回転していると,日付の挿入位置が縦横反転してしまう*5.
挿入位置を揃えたい場合は,本シェルスクリプトの処理前に回転操作をしないようにするのが手っ取り早いですね.
