ExifInterfaceによるJPG画像のExif情報変更について

1,740 views
Skip to first unread message

waka21

unread,
Mar 14, 2011, 4:46:09 AM3/14/11
to 日本Androidの会
waka21と申します。

表題のとおり、ExifInterfaceを使ってAndroidギャラリー内の画像のExif情報を変更したいです。

ExifInterfaceのsetAttributeを使ってMakeやModelなどは書き換えられるのですが、日時の変更の際のvalueの指定
方法が
分かりません。というか多分間違っているのでデフォルト値になっていしまいます。

以下のソースで設定していますので、ご指摘お願い致します。

ExifInterface exif = new ExifInterface(filePath);

// Exif情報を変更
exif.setAttribute(ExifInterface.TAG_MAKE, "メーカー");
exif.setAttribute(ExifInterface.TAG_MODEL, "モデル");
exif.setAttribute(ExifInterface.TAG_DATETIME, "2011/03/15
17:23:32:00");
exif.saveAttributes();

上記ソースでTAG_MAKEとTAG_MODELは指定した値に変わりますが、TAG_DATETIMEが1970/01/01 9:00:00とい

標準時っぽいのになってしまってます。

ググると
exif.setAttribute(ExifInterface.TAG_DATETIME,
String.valueOf(System.currentTimeMillis()));
としている人がいたのでやってみましたが、ミリ秒がそのまま入ってしまってます。

team.hiroq

unread,
Mar 14, 2011, 5:50:50 AM3/14/11
to android-g...@googlegroups.com
waka21さん

こんばんは、team-hiroqと申します。
試して確認した訳ではありませんが、ExifInterfaceのソースをみると

sFormatter = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");

とあります。秒までの指定にしてみてはいかがでしょうか。

というか、APIレベル5からExifInterfaceなんて追加されていたのですね。
勉強になりました。

-------------------------------------------
team-hiroq
twitter : team_hiroq


2011年3月14日17:46 waka21 <hirom...@gmail.com>:

--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。


waka21

unread,
Mar 15, 2011, 5:29:23 AM3/15/11
to 日本Androidの会
team-hiroqさん

waka21です。

Exifを扱うには便利ですよね、ExifInterface。

ソースみてたんですが、その部分は見落としてました。
ちなみに秒も設定はしてみたんですが、ダメでした。

設定自体はされてはいるんですが、
exiftoolでCreateDateタグを取得すると取れないようです。

うーむ。exiftoolのほうをみたほうがいいのかもしれませんね。

ありがとうございます。

waka21

On Mar 14, 6:50 pm, "team.hiroq" <team.hi...@gmail.com> wrote:
> waka21さん
>
> こんばんは、team-hiroqと申します。
> 試して確認した訳ではありませんが、ExifInterfaceのソースをみると
>
> sFormatter = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss");
>
> とあります。秒までの指定にしてみてはいかがでしょうか。
>
> というか、APIレベル5からExifInterfaceなんて追加されていたのですね。
> 勉強になりました。
>
> -------------------------------------------
> team-hiroq
> mail : team.hi...@gmail.com
> twitter : team_hiroq
> URL :http://team-hiroq.com
>
> 2011年3月14日17:46 waka21 <hiromix...@gmail.com>:

team.hiroq

unread,
Mar 15, 2011, 10:47:04 AM3/15/11
to android-g...@googlegroups.com
waka21さん

こんばんは。team-hiroqです。

前述のソースですが、日付を取得している部分で利用していました。
逆にいうと、そのフォーマットでデータを設定してあげる必要があるかと。

念のためですが、waka21さんが転載してくれた
exif.setAttribute(ExifInterface.TAG_DATETIME, "2011/03/1 17:23:32:00");
ではなく
exif.setAttribute(ExifInterface.TAG_DATETIME, "2011:03:01 17:23:32");
ということです。

Exiftoolではないですが、上記の記述で動かしてみたところ
macのiphotoでみる限り2011/03/1 17:23:32にちゃんと変更できているようです。

ではでは、失礼します。
-------------------------------------------
team-hiroq
twitter : team_hiroq


2011年3月15日18:29 waka21 <hirom...@gmail.com>:
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。




--
-------------------------------------------
team-hiroq

waka21

unread,
Mar 17, 2011, 9:43:48 PM3/17/11
to 日本Androidの会
team-hiroqさん

ご返信ありがとうございます。

iPhotoでちゃんと取れてるんですね。
うーむもう一回試してみます。

ちなみに
exif.saveAttributes();
をするとExif情報が元あったものがほとんど破棄されてしまいますよね。

ExifInterfaceのリファレンスにも
Save the tag data into the JPEG file. This is expensive because it
involves copying all the JPG data from one file to another and
deleting the old file and renaming the other. It's best to use
setAttribute(String, String) to set all attributes to write and make a
single call rather than multiple calls for each attribute.
とあったので、全部設定しなおすような感じになると認識しています。

waka21

On Mar 15, 11:47 pm, "team.hiroq" <team.hi...@gmail.com> wrote:
> waka21さん
>
> こんばんは。team-hiroqです。
>
> 前述のソースですが、日付を取得している部分で利用していました。
> 逆にいうと、そのフォーマットでデータを設定してあげる必要があるかと。
>
> 念のためですが、waka21さんが転載してくれた
> exif.setAttribute(ExifInterface.TAG_DATETIME, "2011/03/1 17:23:32:00");
> ではなく
> exif.setAttribute(ExifInterface.TAG_DATETIME, "2011:03:01 17:23:32");
> ということです。
>
> Exiftoolではないですが、上記の記述で動かしてみたところ
> macのiphotoでみる限り2011/03/1 17:23:32にちゃんと変更できているようです。
>
> ではでは、失礼します。
> -------------------------------------------
> team-hiroq
> mail : team.hi...@gmail.com
> twitter : team_hiroq
> URL :http://team-hiroq.com
>
> 2011年3月15日18:29 waka21 <hiromix...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages