こんにちは。今日も雨ですねー。しとしとしと。
今日もExif情報に振り回されていましたよ。
先日、Android SDKのExifInterfaceを使って、Exif情報の取得や書き込みに成功していたのですが。
ボスより呼び出し。「Exif情報ないんだけど」
・・・え?
あれ?手元のソフト(IrfanView)で見る限りはきちんと保存されてるのになー。
で、確認しましたら。確かにボスが使っているソフトで確認すると、必要なExif情報が表示されない。
あれー?
いろいろ調べてみると、Android SDKのExifInterfaceで定義されてるConstantsだけじゃ、ボスのソフトでは表示されないExif情報があるみたい。
さらにMIT?のこのサイトで調べてみると・・・「Exif SubIFD」というエリア?に属するタグが、ボスソフトに表示されるらしい・・・。
ExifInterfaceのsetAttribute()では、書き込むタグをStringで指定すれば書き込めるみたい。
さっそく試してみると、・・・ほぅ。無事書き込めました。
ただ、ここで一つ問題が。
ExifInterfaceのsetAttribute()は、タグ名とその値にString型をとるんです。
DateTimeOriginalとかは、Exifのデータ型も「ascii string」となっており、素直に設定されてくれるんですが・・・。
ExifImageWidthやExifImageHeightとかは、Exifのデータ型が「ascii string」じゃない・・・。こういうのを無理やりString型で突っ込んでも設定されないどころか、「Exif SubIFD」エリアのタグが全部設定されなくなってしまう。
どないすりゃええねん・・・。
そしてぼくーはー とほうーにー くれるー
0 件のコメント:
コメントを投稿