2015年6月19日金曜日

ぼくはやればできるこ:Windows 7で写真の「タグ」を表示「Common Imagings」

こんにちはー。ご無沙汰です。
うわー、一ヶ月以上もブログ書いてなかったー。

実は、最近ちょっとアプリ開発から離れておりまして。
今週くらいからやっとAndroid Studio触れるようになりました。

でも、久しぶりにコードを触ったものだから、自分で書いたはずのコードなのに、「あれ?なんでココでこんなことやってんの?」ってことばかり。
あかんなあ。これからちょこちょこ触るようにしよっと。

で、本題。
Google Playに公開してるカメラアプリも、ようやく総ダウンロード数が1,000を越えまして、記念にいっちょ機能を追加してみようかと。

カメラで撮影した写真の上に、ちょっとしたメモを追加するってアプリなんですが。
どうせなら、そのメタ情報を写真ファイル自体にも埋め込んじゃおう、ってね。

まあ埋め込むとしたらEXIFのUserCommentかなー、ってわけで、またまたこちらのライブラリの出番です。

「Commons Imaging」

このTiffOutputDirectoryに、メモの文字列をadd()してやればオッケー。
TiffOutputDirectory.add(ExifTagConstants.EXIF_TAG_USER_COMMENT, "メモ");

「add」のパラメータに、追加先のEXIFタグと、メモの文字列を渡してやればいいんですな。楽勝楽勝。
ドヤ顔でGoogle Playに公開して、その旨ボスに報告したところ、・・・当然といえば当然すぎるツッコミが。
「で、そのメモ、どうやって見るの?」

・・・。
「いや、exiftool使うなり、別のツールを開発したりしてですね・・・」と喉元まででかかったけど、なんとかこらえる。
そうだよなー。
Windowsの表示オプションで、「コメント」って項目にチェックを付ければ、一応UsetComment見られるんだけど。
そもそも、Windowsのフォルダ表示オプションを変更できるユーザーさんて、意外に少ない。
やっぱ、せっかくだから、パソコンでさくっと使いたいよなー。

というわけでGoogle先生に泣きついて、こんなページを見つけました。

「画像を検索しやすいようにタグ付けする」

へー。そーなんだー。ふーん。
こんなんなるらしい。デフォルトの状態から、「詳細表示」に切り替えるだけ。



・・・正直Windows 7、結構長いこと使ってるけど、こんなん全然知らなかった。
Evernoteのタグみたいな感じかな。
でも、「タグ」て。名前、「タグ」って。そのままじゃん。
いや使う分には簡単な名前の方がいいんだけどさ。
じゃ、どうすりゃいいのよ、って検索してみると・・・すっごく探しにくい。
余計な情報ばっかり検索結果に出てくるし。
どうやったら追加できるかとか、そもそもJPEGファイル自体に埋め込めるのかとか、Javaから操作できるのか、とか、さっぱり出てこない。

・・・うう、さくっと公開して、素敵な週末を迎えるはずだったのに。
いやいや諦めるのは、まだ早い。

まず、この「タグ」なるものがなんなのか、調べてみた。
Windows 7で画像に「タグ」を追加して、それをExiftoolにかけてみる。
追加したタグは「lunch」。
・・・こんなん出た。
XP Keywords: lunch
Subject: lunch
Last Keyword XMP: lunch
・・・あれ?情報・・・あるねー。

ちなみに-sオプションをつけるとこのように。
XPKeywords: lunch
Subject: lunch
LastKeywordXMP: lunch
情報のってる、しかもExiftoolで取れるってことは、・・・なんとかなるんじゃないの!?

ダメ元で、Common Imagingsのドキュメント、もう一度探してみた。

んで、発見。「Interface MicrosoftTagConstants」

この「EXIF_TAG_XPKEYWORDS 」ってのが怪しそうだにゃー。
で、先ほどのUserCommentと同じように、以下の定数をaddしてあげたら成功ー。
MicrosoftTagConstants.EXIF_TAG_XPKEYWORDS
Microsoftのタグ、ってことか・・・。
・・・。
やー、ドキュメントは読んでおくものですねー(いまさら)。
ま、やっとこれで素敵な週末になりました。ちゃんちゃん。

0 件のコメント:

コメントを投稿