com.docomostar.media
クラス ExifData

Object
  上位を拡張 com.docomostar.media.ExifData

public class ExifData
extends Object
 [iアプリオプションAPI]

Exif 属性を表すクラスです。

Exif 属性は、複数のタグの集合体です。 各タグには、 そのタグを識別するためのタグ番号が規定されており、 タグ番号と、そのタグが所属するグループ(TIFF Tag, EXIF Private Tag, GPS Info Tag, Interoperability Tag) を指定すれば、 タグの種類は一意に定まります。 さらに、タグの種類ごとに、以下の項目が規定されています。

タイプ (Type):
そのタグに格納されている値のタイプです。 整数 (BYTE, SHORT, LONG, SLONG) 、有理数 (RATIONAL, SRATIONAL) 、 ASCII 、 UNDEFINED が存在します。
カウント (Count):
上記「タイプ」の値が何個格納されているかを表します。 ただし、ASCII ・ UNDEFINED の場合は、 格納されている文字列・バイト列のバイト数 (ASCII は NUL 終端を含んだバイト数)を表します。

タグに格納されている値の取得・設定をするためのメソッドは、 そのタグのタイプによって異なります。 以下に、それぞれのタイプごとに利用するメソッド、 ならびに値の解釈方法を示します。

タイプ 設定メソッド 取得メソッド 値の解釈
BYTE
(8ビット符号無し整数)
setIntegerTag() getIntegerTag() 「カウント」個の long 型の値として表します。
各 long 値が取り得る値の範囲は 0〜255 です。
SHORT
(16ビット符号無し整数)
setIntegerTag() getIntegerTag() 「カウント」個の long 型の値として表します。
各 long 値が取り得る値の範囲は 0〜65535 です。
LONG
(32ビット符号無し整数)
setIntegerTag() getIntegerTag() 「カウント」個の long 型の値として表します。
各 long 値が取る値の範囲は 0〜232-1 です。
SLONG
(32ビット符号付き整数)
setIntegerTag() getIntegerTag() 「カウント」個の long 型の値として表します。
各 long 値が取り得る値の範囲は -231〜231-1 です。
RATIONAL
(符号無し有理数)
setRationalTag() getRationalTag() 「カウント」個の long[] 型の値として表します。
long[i] (0 ≤ i < カウント) には、 長さ2の long 配列が格納されています。
long[i][0] には i 番目の値の分子が、 long[i][1] には i 番目の値の分母が、 それぞれ格納されています。
各 long 値が取り得る値の範囲は 0〜232-1 です。
SRATIONAL
(符号付き有理数)
setRationalTag() getRationalTag() 「カウント」個の long[] 型の値として表します。
long[i] (0 ≤ i < 「カウント」) には、 長さ2の long 配列が格納されています。
long[i][0] には i 番目の値の分子が、 long[i][1] には i 番目の値の分母が、 それぞれ格納されています。
各 long 値が取り得る値の範囲は -231〜231-1 です。
ASCII setAsciiTag() getAsciiTag() 長さ (「カウント」 - 1) の文字列として表します。 NUL 終端は含みません。 各文字は ASCII の範囲内です。
UNDEFINED setUndefinedTag() getUndefinedTag() 「カウント」の長さを持つバイト列として表します。

このクラスに定義されているメソッドでは、 明示的な記載が無い限り、 引数に指定された配列は全体がコピーされてメソッドに渡され、 戻り値の型が配列の場合は、内部で保持している配列のコピーが返されます。

タグの種類や、タグが所属するグループ、それぞれのタグにおけるタグ番号・ フィールド名・タイプ・カウントなどの詳細については、 「ディジタルスチルカメラ用画像ファイルフォーマット規格 Exif 2.2 (JEITA CP-3451)」を参照してください。

このクラスで定義されているメソッドでタグの値を設定する際、 例外で規定されているチェックは行いますが、 それ以外のチェックは行いません。

導入されたバージョン:
Star-1.0

入れ子のクラスの概要
 class ExifData.TagInfo
          enumerateTags() メソッドの戻り値に含まれるタグ情報を表す内部クラスです。
 
フィールドの概要
static int GPS_INFO_TAG
          タグが所属するグループを表す定数値で、 0th IFD GPS Info Tag であることを表します (=34853)。
static int SUPPORT_GET
          タグのサポート状況を表す定数値で、 取得可能であることを表します (=1)。
static int SUPPORT_SET
          タグのサポート状況を表す定数値で、 設定可能であることを表します (=2)。
 
コンストラクタの概要
ExifData()
           Exif 属性のオブジェクトを生成します。
 
メソッドの概要
 java.util.Enumeration enumerateTags()
           このオブジェクトに格納されている全ての Exif タグを列挙します。
 String getAsciiTag(int tagGroup, int tagID)
          ASCII 型の Exif タグについて、 指定されたタグに格納されている値を取得します。
 long[] getIntegerTag(int tagGroup, int tagID)
          整数 (BYTE, SHORT, LONG, SLONG) 型の Exif タグについて、 指定されたタグに格納されている値を取得します。
 long[][] getRationalTag(int tagGroup, int tagID)
          有理数 (RATIONAL, SRATIONAL) 型の Exif タグについて、 指定されたタグに格納されている値を取得します。
static int getSupportStatus(int tagGroup, int tagID)
          指定されたタグのサポート状況を取得します。
 byte[] getUndefinedTag(int tagGroup, int tagID)
          UNDEFINED 型の Exif タグについて、 指定されたタグに格納されている値を取得します。
 void setAsciiTag(int tagGroup, int tagID, String value)
           ASCII 型の Exif タグについて、 指定されたタグに格納する値を設定します。
 void setIntegerTag(int tagGroup, int tagID, long[] values)
           整数 (BYTE, SHORT, LONG, SLONG) 型の Exif タグについて、 指定されたタグに格納する値を設定します。
 void setRationalTag(int tagGroup, int tagID, long[][] rational)
           有理数 (RATIONAL, SRATIONAL) 型の Exif タグについて 指定されたタグに格納する値を設定します。
 void setUndefinedTag(int tagGroup, int tagID, byte[] value)
           UNDEFINED 型の Exif タグについて、 指定されたタグに格納する値を設定します。
 Location toLocation()
           この Exif 属性にもとづいた位置情報オブジェクトを生成します。
 void update(Location location)
           指定された位置情報を、この Exif 属性に反映させます。
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

GPS_INFO_TAG

public static final int GPS_INFO_TAG
タグが所属するグループを表す定数値で、 0th IFD GPS Info Tag であることを表します (=34853)。

関連項目:
定数フィールド値

SUPPORT_GET

public static final int SUPPORT_GET
タグのサポート状況を表す定数値で、 取得可能であることを表します (=1)。

関連項目:
getSupportStatus(int, int), 定数フィールド値

SUPPORT_SET

public static final int SUPPORT_SET
タグのサポート状況を表す定数値で、 設定可能であることを表します (=2)。

関連項目:
getSupportStatus(int, int), 定数フィールド値
コンストラクタの詳細

ExifData

public ExifData()

Exif 属性のオブジェクトを生成します。

現実装では、生成直後には下記のタグのみが格納されています。

グループ タグ番号(フィールド名) タイプ カウント 初期値 サポート