Exception Diary
2009.03.14 [Sat]
_ recent_image.rb に EXIF表示機能を追加
tDiary Image Galleryのサポート・ページをアナウンスしたところ、「いっとくの戯言書庫」のいっとくさんがさっそく、ViewerモードのEXIF表示を試してくれた。ありがたいことである。
で、調子に乗って recent_image.rb を改造して、日記中に画像のEXIFデータを表示する view_exif というプラグインを追加してみた。使い方は以下のエントリを参照して頂きたい。
Image GalleryのViewerモードでのEXIF表示機能は、まだカメラのことを何も分かっていなかった頃に「とりあえずカッコよさそうだから」という理由で追加したものだ。EXIFの各パラメータの意味などまったく分からなかったため、とりあえずexifparserが吐き出すものをすべて表示する、という形になっている。知っていることは包み隠さない、実に漢(オトコ)らしい仕様であるが、カメラの知識が付いてきた今では、さすがにこれでは煩雑だと思うようになった。
このことを踏まえて、view_exifプラグインでは、簡単に使いたい方にはなるべく簡単に、凝りたい方はいろいろな表示形式を取れるように工夫してみた。Image Galleryを使っていてカメラに興味のある方はぜひ試して頂きたいと思う。
_ インストール
まだ、正式リリースはしていないため、パッチをこちらからダウンロードして、recent_image.rb に当てて下さい。Image Gallery 1.0.9a に入っている recent_image.rb にパッチを当てたものも用意しましたので、1.0.9a をお使いの方はそのままどうぞ。
・recent_image.rb view_exif 追加パッチ
・Image Gallery1.0.9a の recent_image.rb に上のパッチを当てたもの
exifparser をインストールしていない方は、こちらを参照してインストールしておいて下さい。
_ 使い方(1) -標準フォーマットで表示 -
以下のように、image.rb または image_ex.rb でアップした際の画像番号をパラメータにしてプラグインを呼び出します。一番簡単な使い方がこの方法です。
<%= view_exif 0 %>
このようにすると、その画像のEXIFデータが次の例のようなフォーマットで表示されます。
NIKON D90, 70mm, F5.3, 1/160sec., ISO200, +0.0EV (Nikon AF-S DX VR Zoom-Nikkor 18-105mm f/3.5-5.6G ED)
左から、カメラのモデル名、焦点距離、F値、露出時間(=シャッタースピード)、ISO感度、露出補正値の順になっています*1*2。
また、この日記では、スタイルシートに手を入れ、右寄せ、文字サイズ80%になるようにしています。標準フォーマット形式の場合、EXIFデータの表記部分に "exifdatastr" というclass名が付きますので、以下を参考にして、お好みに合わせ調整して下さい。
div.exifdatastr p { text-align:right; font-size:80%; }
_ 使い方(2) -EXIFタグを個々に読み出す-
以下の例のように、EXIFのタグの名前を指定することでその値を読み出すことができます。標準フォーマットよりももう少し凝った表示をしたい場合には、これらを組み合わせてお好みの表示になるようにします。
<%= view_exif 0, "DateTimeOriginal" %>
上記の例は、撮影日時を得る場合のタグ指定です。指定できるEXIFタグの名前は、お使いのカメラごとに異なる場合があります。どれが指定できるかは、Image GalleryのViewerモードでの表示を参照して下さい。Viewerモードでは、表示できるEXIFタグをすべて表示するようになっています。
EXIFタグは一つしか指定できませんが、これらを組み合わせることで、以下のような表を作ることもできます。
モデル | : NIKON D90 |
撮影日時 | : 2009:03:07 14:43:02 |
焦点距離 | : 80mm |
F値 | : F5.3 |
露出時間 | : 1/100sec. |
ISO感度 | : ISO200 |
露出補正 | : +0.0 |
この表は、以下のようなtableを日記に埋め込むことで表示しています。tDiaryスタイルだと複雑ですが、wikiスタイルで日記を書かれている方はもう少し簡単に書けるかも知れません。
<table> <tr><td>モデル</td><td>: <%=view_exif 1, "Model" %></td></tr> <tr><td>撮影日時</td><td>: <%=view_exif 1, "DateTimeOriginal" %></td></tr> <tr><td>焦点距離</td><td>: <%=view_exif 1, "FocalLength" %></td></tr> <tr><td>F値</td><td>: <%=view_exif 1, "FNumber" %></td></tr> <tr><td>露出時間</td><td>: <%=view_exif 1, "ExposureTime" %></td></tr> <tr><td>ISO感度</td><td>: ISO<%=view_exif 1, "ISOSpeedRatings" %></td></tr> <tr><td>露出補正</td><td>: <%=view_exif 1, "ExposureBiasValue" %></td></tr> </table>
この度は機能強化ありがとうございます。<br><br>“ありがたい”なんてとんでもない、それはこちらの台詞です。ありがとうございます。<br><br>調子に乗って、拙ブログにいただいたコメントに、リクエスト書きましたので、もし可能でしたらよろしくお願いします。<br><br>では。
いえいえ、さっそくの確認ありがとうございます。wikiスタイルだとやっぱりtableが簡単に書けていいですね。<br>リクエストについてはちょっと考えて、そちらにコメントします。よろしくお願いします。