fixez

JPEG 画像に埋め込まれている Exif 情報を Java から読み込むためのクラスライブラリ。撮影日時やカメラのモデル、メーカー名、GPS 情報などを取得することが出来ます。

実行環境Java2 SE 5.0 以上
動作確認MacOS X 10.5, Windows XP

使い方

JPEG 画像のファイルを指定して Exif クラスのインスタンスを生成することで Exif フィールドを参照することが出来ます。 API の詳細は javadoc を参照してください。

import org.koiroha.fixez.*;

...
File file = new File("photo.jpg");
ExifFactory factory = new ExifFactory();
Exif exif = factory.getInstance(file);

// ファイル中の全ての Exif フィールドを列挙
for(ExifField field: exif.getFields()){
    System.out.printf("%s:%04X:%s: %s%n[%s] %s%n",
        field.getIFD(),        // IFD
        field.getTag(),        // タグ
        field.getTagName(),    // タグ名称
        field.getTagLabel(),   // ラベル
        field.getType(),       // タイプ
        field.getString());    // 値の文字列値
}

ライブラリの利用者は IFD とタグを指定すれば Exif 中の目的とする情報を取得することが出来ます。どのタグが定義されているかは以下を参照してください。

また、よく利用される情報を簡易的に取得するためにアクセサークラス PhotographGPS を用意しています。どのようなプロパティが用意されているかはそれぞれの javadoc を参照してください。

Photograph photo = new Photograph(exif);
System.out.println(
    photo.getDate() + ", " +   // 撮影日時
    photo.getMake() + ", " +   // 撮影機器のメーカー名
    photo.getModel());         // 撮影機器のモデル名

GPS gps = new GPS(exif);
System.out.println(
    gps.getLatitude() + "/" +   // 緯度
    gps.getLongitude());        // 経度

ダウンロードと利用

sourceforge.jp のリリース一覧から fixez_x.x.zip をダウンロードして下さい。このアーカイブにはコンパイルに必要な JAR ファイル、ソースの ZIP ファイル、javadoc の ZIP ファイルが含まれています。追加で必要なライブラリはありません。

開発情報

CVS :pserver:anonymous@cvs.sourceforge.jp:/cvsroot/koiroha-org/fixez_1.0 (閲覧)
プロジェクト形式Eclipse 3.4.1 Java Project (UTF-8, LF)
ビルド方法Ant (build/build.xml を右クリックして [実行]-[Antビルド])

不具合報告や改善要望は sourceforge.jp の 公開討議フォーラムへ御願いします。ただし気が向いた時に作業しておりますのご了承ください。

Sun Java ダウンロードページ
SourceForge.JP
Valid XHTML 1.1