|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.ExifData
Exif 属性を表すクラスです。
Exif 属性は、複数のタグの集合体です。 各タグには、 そのタグを識別するためのタグ番号が規定されており、 タグ番号と、そのタグが所属するグループ(TIFF Tag, EXIF Private Tag, GPS Info Tag, Interoperability Tag)を指定すれば、 タグの種類は一意に定まります。 さらに、タグの種類ごとに、以下の項目が規定されています。
タグに格納されている値の取得・設定をするためのメソッドは、 そのタグのタイプによって異なります。 以下に、それぞれのタイプごとに利用するメソッド、 ならびに値の解釈方法を示します。
タイプ | 設定メソッド | 取得メソッド | 値の解釈 |
---|---|---|---|
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)」を参照してください。
入れ子クラスの概要 | |
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 |
フィールドの詳細 |
public static final int GPS_INFO_TAG
public static final int SUPPORT_GET
getSupportStatus(int, int)
,
定数フィールド値public static final int SUPPORT_SET
getSupportStatus(int, int)
,
定数フィールド値コンストラクタの詳細 |
public ExifData()
Exif 属性のオブジェクトを生成します。
現実装では、生成直後には下記のタグのみが格納されています。
グループ | タグ番号(フィールド名) | タイプ | カウント | 初期値 | サポート |
---|---|---|---|---|---|
GPS_INFO_TAG |
0 (GPSVersionID) | BYTE | 4 | {2, 2, 0, 0} | 更新不可・取得のみ可 |
オブジェクト生成時に格納されるタグの種類は、 将来の実装で変更される可能性があります。
メソッドの詳細 |
public static int getSupportStatus(int tagGroup, int tagID)
引数 tagGroup に GPS_INFO_TAG
以外の値が指定された場合や、
引数 tagID に Exif で規定されていないタグ番号を指定した場合には、
このメソッドは 0 を返します。
tagGroup
- サポート状況を取得したいタグのグループを指定します。
現在の実装では GPS_INFO_TAG
のみが指定可能です。tagID
- サポート状況を取得したいタグのタグ番号を指定します。
SUPPORT_GET
を、
設定・取得がサポートされている場合は
(SUPPORT_GET
| SUPPORT_SET
)
を、
いずれもサポートされていない場合は 0 を、それぞれ返します。public void setIntegerTag(int tagGroup, int tagID, long[] values)
整数(BYTE, SHORT, LONG, SLONG)型の Exif タグについて、 指定されたタグに格納する値を設定します。 指定されたタグについて、値の設定をサポートしていない場合、何もしません。
tagGroup
- 設定したいタグのグループを指定します。
現在の実装では GPS_INFO_TAG
のみが指定可能です。tagID
- 設定したいタグのタグ番号を指定します。values
- 設定したいタグの値の配列を指定します。
配列の長さは、
そのタグの「カウント」の数と一致していなければなりません。
引数で指定したタグを削除するには null を指定します。
IllegalArgumentException
-
指定されたタグが整数型でない場合に発生します。
IllegalArgumentException
- 引数 values の長さが、指定されたタグの「カウント」
の数と一致していない場合に発生します。
IllegalArgumentException
- 引数 values に格納されている値のいずれかが、指定されたタグのタイプ
(BYTE, SHORT, LONG, SLONG)
に収まらない場合に発生します。
public long[] getIntegerTag(int tagGroup, int tagID)
tagGroup
- 値を取得したいタグのグループを指定します。
現在の実装では GPS_INFO_TAG
のみが指定可能です。tagID
- 値を取得したいタグのタグ番号を指定します。
IllegalArgumentException
-
指定されたタグが整数型でない場合に発生します。
public void setRationalTag(int tagGroup, int tagID, long[][] rational)
有理数(RATIONAL, SRATIONAL)型の Exif タグについて 指定されたタグに格納する値を設定します。 指定されたタグについて、値の設定をサポートしていない場合、何もしません。
引数 rational には、設定したい値(有理数)を、 long[2] で表した分数の配列で指定します。 i 番目の値の分子を rational[i][0] に、 分母を rational[i][1] に、それぞれ格納します。 rational[i] の長さは、任意の i において、 2以上でなければなりません。 rational[i] の第2要素以降の値は無視されます。
tagGroup
- 設定したいタグのグループを指定します。
現在の実装では GPS_INFO_TAG
のみが指定可能です。tagID
- 設定したいタグのタグ番号を指定します。rational
- 設定したいタグの値を、分数の配列で指定します。
rational の長さは、そのタグの「カウント」
の数と一致していなければなりません。
引数で指定したタグを削除するには null を指定します。
NullPointerException
- 引数 rational について、
rational[i] が null となるような整数 i
が存在する場合に発生します。
IllegalArgumentException
-
指定されたタグが有理数型でない場合に発生します。
IllegalArgumentException
- 引数 rational の長さが、指定されたタグの「カウント」
の数と一致していない場合に発生します。
IllegalArgumentExcttdocomo/ui/ExifData.html#GPS_INFO_TAG">GPS_INFO_TAG
縺ョ縺ソ縺梧欠螳壼庄閭ス縺ァ縺吶