自分の撮ったどうでもいい写真に説明を書いておきたいことがしばしばある。
写真整理用のアプリケーションの機能を使うと、他の環境ではどもならん。
テキストファイルで別に書いておくと、写真をながめながら読むことが困難。
exif のコメント機能は、対応しているアプリケーションがそう多くない。
一番頑健な方法は、写真が jpeg なら、写真説明も jpeg 画像にしておくという極めて原始的な方法であるということに気付いた。
写真説明のテキストに検索をかけることができないが、それはあっさり諦めることにする。
まあ、古い無声映画の字幕みたいなものだと思えばよい。
ついでだから、オリジナル画像のサムネイルを説明画像の背景に使ってみる。
○説明対象写真の exif から画像回転方向の情報を入手する。(exiftool)
○説明対象写真を縮小し(必要なら回転させ)白黒化した jpeg 画像を作成する。(imagemagick の convert コマンド)
○説明対象写真から exif の日付を取り出し (exiftool)、説明写真画面にそれを書き込む (convert)
○アルファベット順に並べたときに、説明対象の写真の一つ前にくるような名前をつけて説明写真を保存。
○説明写真に、コメントを手動で書き込むため、画像編集アプリケーションを起動(gimp)
画像を閲覧しながら、必要を感じたときに上のことを一つのキーで行えればよろしい。
画像ビューアに gthumb を使っているので、そのホットキーにスクリプトを登録しておくことにした。
環境は Ubuntu なり。
orientation=`exiftool -orientation -s -s -s %f | sed "s/[^0-9]*([0-9]*).*/1/"`;if test $orientation; then rotation="-rotate $orientation"; fi; xnew=`echo %f | sed 's/([jJ][pP][gG])$/COMMENT.1/'`; xx=`exiftool -d %Y年%m月%d日(%a) -createdate -s -s -s %f`;convert $rotation -resize 10% -normalize -colorspace gray -fill gray100 -colorize 60% -font /usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf -undercolor black -pointsize 18 -fill white -draw "text 0,18 '$xx'" %f $xnew; gimp-remote $xnew
嫌になるくらい長いが、これを一行に書いておくのだ。自分でもわけわからんから、説明をメモしておこう。
(このたぐいのものは読むより書くほうが楽なのだ)
orientation=`exiftool -orientation -s -s -s %f |
# オリジナル画像の回転情報入手 -s -s -s でタグ名が出力されぬようにする。
sed "s/[^0-9]*([0-9]*).*/1/"`;
# そこから角度だけ取り出す
if test $orientation; then rotation="-rotate $orientation"; fi;
# 回転情報により説明画像を回転
xnew=`echo %f | sed 's/([jJ][pP][gG])$/COMMENT.1/'`;
# xxx.jpg というオリジナル画像名から xxx.COMMENT.jpg というコメント画像名を作成
xx=`exiftool -d %Y年%m月%d日(%a) -createdate -s -s -s %f`;
# オリジナル画像から作成年月日を得る
convert $rotation -resize 10% -normalize -colorspace gray -fill gray100 -colorize 60%
# オリジナル画像を10%に縮小し、平準化・グレイスケール化&白っぽくする。
-font /usr/share/fonts/truetype/sazanami/sazanami-gothic.ttf
# 説明画像に入れる年月日のフォントを指定して
-undercolor black -pointsize 18 -fill white -draw "text 0,18 '$xx'" %f $xnew;
# 文字背景色、文字色・大きさを決め、年月日を説明画像に出力する。
# (シェル変数から年月日文字列への展開はシェルでなく convert がやっている)
gimp-remote $xnew
# 実際にコメントを書き込むために説明画像を gimp で開く