クラスTIFFField
- すべての実装されたインタフェース:
Cloneable
TIFFイメージ・ファイル・ディレクトリ(IFD)のフィールドは、同じデータ型の値のシーケンスを伴うタグ番号として定義されます。 TIFF 6.0は12のデータ型を定義します。13番目の型IFDは、TIFF Specification Supplement 1のTIFF Tech Note 1で定義されます。 これらのTIFFデータ型はJava定数によって参照され、Java言語のデータ型と型名に内部的に次のようにマップされます:
| TIFFデータ型 | Java定数 | Javaデータ型 | Javaの型名 |
|---|---|---|---|
BYTE
| TIFFTag.TIFF_BYTE
| byte
| "Byte"
|
ASCII
| TIFFTag.TIFF_ASCII
| String
| "Ascii"
|
SHORT
| TIFFTag.TIFF_SHORT
| char
| "Short"
|
LONG
| TIFFTag.TIFF_LONG
| long
| "Long"
|
RATIONAL
| TIFFTag.TIFF_RATIONAL
| long[2] {numerator, denominator}
| "Rational"
|
SBYTE
| TIFFTag.TIFF_SBYTE
| byte
| "SByte"
|
UNDEFINED
| TIFFTag.TIFF_UNDEFINED
| byte
| "Undefined"
|
SSHORT
| TIFFTag.TIFF_SSHORT
| short
| "SShort"
|
SLONG
| TIFFTag.TIFF_SLONG
| int
| "SLong"
|
SRATIONAL
| TIFFTag.TIFF_SRATIONAL
| int[2] {numerator, denominator}
| "SRational"
|
FLOAT
| TIFFTag.TIFF_FLOAT
| float
| "Float"
|
DOUBLE
| TIFFTag.TIFF_DOUBLE
| double
| "Double"
|
IFD
| TIFFTag.TIFF_IFD_POINTER
| long
| "IFDPointer"
|
- 導入されたバージョン:
- 9
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明createArrayForType()を使用してデータ配列を構築し、指定されたパラメータおよび作成された配列を使用してTIFFField(TIFFTag,int,int,Object)を起動します。任意のデータを使用してTIFFFieldを構築します。TIFFField(TIFFTag tag, int type, long offset, TIFFDirectory dir) IFDオフセットと内容を使用してTIFFFieldを構築します。負でない1つの整数値を持つTIFFFieldを構築します。 -
メソッドのサマリー
修飾子と型メソッド説明clone()フィールドとそこに含まれるすべての情報をクローニングします。static ObjectcreateArrayForType(int dataType, int count) 指定されたデータ型に適した配列を作成します。static TIFFFieldcreateFromMetadataNode(TIFFTagSet tagSet, Node node) TIFFネイティブ・イメージ・メタデータ・ノードからTIFFFieldを作成します。byte[]データをbyteの解釈されない配列として戻します。char[]TIFFTag.TIFF_SHORTデータをchars (符号なし16ビット整数)の配列として返します。doublegetAsDouble(int index) 任意の形式のデータをdoubleとして返します。double[]TIFFTag.TIFF_DOUBLEデータをdoubles (64ビット浮動小数点値)の配列として返します。floatgetAsFloat(int index) 任意の形式のデータをfloatとして返します。float[]TIFFTag.TIFF_FLOATデータをfloats (32ビット浮動小数点値)の配列として返します。intgetAsInt(int index) 任意の形式のデータをintとして返します。int[]TIFFTag.TIFF_SLONGデータをints (符号付き32ビット整数)の配列として返します。longgetAsLong(int index) 任意の形式のデータをlongとして返します。long[]TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlongs (符号付き64ビット整数)の配列として返します。TIFFネイティブ・イメージ・メタデータ仕様の説明に従って、TIFFFieldを"TIFFField"または"TIFFIFD"という名前のノードとして返します。long[]getAsRational(int index) TIFFTag.TIFF_RATIONALデータ・アイテムをintの2要素配列として返します。long[][]TIFFTag.TIFF_RATIONALデータを、longの2要素配列の配列として返します。short[]TIFFTag.TIFF_SSHORTデータをshorts (符号付き16ビット整数)の配列として返します。int[]getAsSRational(int index) TIFFTag.TIFF_SRATIONALデータ・アイテムをintの2要素配列として返します。int[][]TIFFTag.TIFF_SRATIONALデータを、intの2要素配列の配列として返します。getAsString(int index) TIFFTag.TIFF_ASCIIの値をStringとして返します。intgetCount()フィールドに存在するデータ・アイテムの数を返します。getData()フィールドに関連付けられたデータ・オブジェクトへの参照を返します。使用可能な場合は、関連するTIFFDirectoryを返します。getTag()このフィールドに関連付けられているタグを取得します。int[0,65535]の範囲のタグ番号を取得します。intgetType()フィールドに格納されているデータの型を返します。static intgetTypeByName(String typeName) 指定されたデータ型名に対応するデータ型定数を返します。static StringgetTypeName(int dataType) 指定されたデータ型定数の名前を返します。getValueAsString(int index) データ項目の人間が読めるバージョンを含むStringを返します。booleanフィールドにTIFFDirectoryがあるかどうかを返します。booleanフィールドに関連付けられた値が整数データ型かどうかを示します。
-
コンストラクタの詳細
-
TIFFField
任意のデータを使用してTIFFFieldを構築します。typeパラメータは、tag.isDataTypeOK()がtrueを返す値でなければなりません。dataパラメータは、TIFFフィールドの型に適したJava型の配列である必要があります。TIFFFieldの値(data)は、その値に必要なバイト数に関係なく、常に実際のフィールド値になります。 これは、フィールドに対応するTIFF 「IFDエントリ」が、実際に値(後者は、値が4バイトに収まる場合にのみ発生)ではなくフィールドの値へのオフセットを実際に含んでいる可能性があるにもかかわらず、このケースです。 つまり、フィールドの値はTIFFストリームからすでに読み取られています。 (この例外は、フィールドがベースライン以外のIFDの内容を表す場合に発生することがあります。 その場合、データはIFDへのオフセットを含むlong[]になり、getDirectory()によって返されるTIFFDirectoryはその内容になります。)- パラメータ:
tag- このフィールドに関連付けられているタグ。type- TIFFストリームに書き込まれるフィールドのデータ型を示すTIFFTag.TIFF_*定数の1つ。count- データ値の数。data- フィールドの実際のデータ内容。- 例外:
NullPointerException-tag == nullの場合。IllegalArgumentException-typeがTIFFTag.TIFF_*データ型の定数のいずれでもない場合。IllegalArgumentException-typeが、指定されたTIFFTagの許容できないデータ型である場合。IllegalArgumentException-count < 0の場合。IllegalArgumentException-count < 1とtypeがTIFF_RATIONALまたはTIFF_SRATIONALの場合。IllegalArgumentException-count != 1とtypeがTIFF_IFD_POINTERの場合。NullPointerException-data == nullの場合。IllegalArgumentException-dataが、指定された型と互換性のないクラスのインスタンスである場合。IllegalArgumentException- データ配列のサイズが間違っている場合。IllegalArgumentException- データ配列の型がTIFF_LONG、TIFF_RATIONAL、またはTIFF_IFD_POINTERであり、いずれかの要素が負であるか0xffffffffより大きい場合。
-
TIFFField
public TIFFField(TIFFTag tag, int type, int count) createArrayForType()を使用してデータ配列を構築し、指定されたパラメータおよび作成された配列を使用してTIFFField(TIFFTag,int,int,Object)を起動します。- パラメータ:
tag- このフィールドに関連付けられているタグ。type- TIFFストリームに書き込まれるフィールドのデータ型を示すTIFFTag.TIFF_*定数の1つ。count- データ値の数。- 例外:
NullPointerException-tag == nullの場合。IllegalArgumentException-typeがTIFFTag.TIFF_*データ型の定数のいずれでもない場合。IllegalArgumentException-typeが、指定されたTIFFTagの許容できないデータ型である場合。IllegalArgumentException-count < 0の場合。IllegalArgumentException-count < 1とtypeがTIFF_RATIONALまたはTIFF_SRATIONALの場合。IllegalArgumentException-count != 1とtypeがTIFF_IFD_POINTERの場合。- 関連項目:
-
TIFFField
public TIFFField(TIFFTag tag, long value) 負でない1つの整数値を持つTIFFFieldを構築します。valueが[0,0xffff]の場合、フィールドの型はTIFF_SHORT、valueが[0x10000,0xffffffff]の場合はTIFF_LONGと入力します。 フィールドのカウントは統一になります。- パラメータ:
tag- このフィールドに関連付けるタグ。value- このフィールドに関連付ける値。- 例外:
NullPointerException-tag == nullの場合。IllegalArgumentException-valueが[0,0xffffffff]にない場合。IllegalArgumentException-valueが[0,0xffff]にあり、TIFF_SHORTがTIFFTagのために受け入れられない型である場合、またはvalueが[0x10000,0xffffffff]にあり、TIFF_LONGがTIFFTagのために受け入れがたい型である場合。
-
TIFFField
public TIFFField(TIFFTag tag, int type, long offset, TIFFDirectory dir) IFDオフセットと内容を使用してTIFFFieldを構築します。 オフセットは、このフィールドのデータとしてlong[] {offset}として保存されます。 ディレクトリはクローンされません。 フィールドのカウントは統一になります。- パラメータ:
tag- このフィールドに関連付けられているタグ。type- 定数TIFFTag.TIFF_LONGまたはTIFFTag.TIFF_IFD_POINTERの1つ。offset- IFDオフセット。dir- ディレクトリ。- 例外:
NullPointerException-tag == nullの場合。IllegalArgumentException-typeが、指定されたTIFFTagの許容できないデータ型である場合。IllegalArgumentException-typeがTIFFTag.TIFF_LONGでもTIFFTag.TIFF_IFD_POINTERでもない場合。IllegalArgumentException-offset <= 0の場合。NullPointerException-dir == nullの場合。- 関連項目:
-
-
メソッドの詳細
-
createFromMetadataNode
public static TIFFField createFromMetadataNode(TIFFTagSet tagSet, Node node) TIFFネイティブ・イメージ・メタデータ・ノードからTIFFFieldを作成します。 ノードの"number"属性の値がtagSetに見つからない場合は、TIFFTag.UNKNOWN_TAG_NAMEという名前の新しいTIFFTagが作成され、フィールドに割り当てられます。- パラメータ:
tagSet- フィールドのTIFFTagが属するTIFFTagSet。node- ネイティブTIFFイメージ・メタデータTIFFFieldノード。- 戻り値:
- 新しい
TIFFField。 - 例外:
IllegalArgumentException-Nodeパラメータの内容が、「TIFFネイティブ・イメージ・メタデータ形式の仕様」で定義されたTIFFField要素構造に従っていない場合、またはTIFFField(TIFFTag,int,int,Object)コンストラクタ仕様に従ってノード属性とデータの組合せが有効でない場合。 このような例外には原因が設定される場合があります。
-
getTag
-
getTagNumber
public int getTagNumber()[0,65535]の範囲のタグ番号を取得します。- 戻り値:
- タグ番号。
-
getType
public int getType()フィールドに格納されているデータの型を返します。 TIFF 6.0ストリームの場合、値はTIFFTag.TIFF_*定数のいずれかと等しくなります。 TIFFの今後の改訂では、より高い値を使用できます。- 戻り値:
- フィールド値のデータ型。
-
getTypeName
public static String getTypeName(int dataType) 指定されたデータ型定数の名前を返します。- パラメータ:
dataType- TIFFストリームに書き込まれるフィールドのデータ型を示すTIFFTag.TIFF_*定数の1つ。- 戻り値:
- 指定された型定数に対応する型名。
- 例外:
IllegalArgumentException-dataTypeがTIFFTag.TIFF_*データ型の定数のいずれでもない場合。
-
getTypeByName
public static int getTypeByName(String typeName) 指定されたデータ型名に対応するデータ型定数を返します。 名前が不明な場合は、-1が返されます。- パラメータ:
typeName- タイプ名。- 戻り値:
TIFFTag.TIFF_*定数のいずれか、または名前が認識されない場合は-1。
-
createArrayForType
public static Object createArrayForType(int dataType, int count) 指定されたデータ型に適した配列を作成します。- パラメータ:
dataType-TIFFTag.TIFF_*データ型の定数のいずれか。count- 配列内の値の数。- 戻り値:
- 指定されたデータ型に適した配列。
- 例外:
IllegalArgumentException-dataTypeがTIFFTag.TIFF_*データ型の定数のいずれでもない場合。IllegalArgumentException-count < 0の場合。IllegalArgumentException-count < 1とtypeがTIFF_RATIONALまたはTIFF_SRATIONALの場合。IllegalArgumentException-count != 1とtypeがTIFF_IFD_POINTERの場合。
-
getAsNativeNode
public Node getAsNativeNode()TIFFネイティブ・イメージ・メタデータ仕様の説明に従って、TIFFFieldを"TIFFField"または"TIFFIFD"という名前のノードとして返します。hasDirectory()がtrueを返し、フィールドの型がTIFFTag.TIFF_LONGまたはTIFFTag.TIFF_IFD_POINTERの場合のみ、ノードの名前は"TIFFIFD"になります。- 戻り値:
"TIFFField"または"TIFFIFD"と名付けられたNode。
-
isIntegral
public boolean isIntegral()フィールドに関連付けられた値が整数データ型かどうかを示します。- 戻り値:
- フィールド・タイプが整数かどうか。
-
getCount
public int getCount()フィールドに存在するデータ・アイテムの数を返します。TIFFTag.TIFF_ASCIIフィールドの場合、返される値はStringの数であり、ファイル表現でのデータの合計長ではありません。- 戻り値:
- フィールドに存在するデータ項目の数。
-
getData
-
getAsBytes
public byte[] getAsBytes()データをbyteの解釈されない配列として戻します。 フィールドの型は、TIFFTag.TIFF_BYTE、TIFF_SBYTE、またはTIFF_UNDEFINEDのいずれかでなければなりません。TIFFTag.TIFF_BYTE形式のデータの場合、アプリケーションは、符号拡張を回避するために、データをより長い整数型に昇格する際に注意する必要があります。- 戻り値:
- バイトの解釈されない配列としてのデータ。
- 例外:
ClassCastException- フィールドが型TIFF_BYTE、TIFF_SBYTE、またはTIFF_UNDEFINEDでない場合。
-
getAsChars
public char[] getAsChars()TIFFTag.TIFF_SHORTデータをchars (符号なし16ビット整数)の配列として返します。- 戻り値:
charの配列としてのデータ。- 例外:
ClassCastException- フィールドの型がTIFF_SHORTではない場合。
-
getAsShorts
public short[] getAsShorts()TIFFTag.TIFF_SSHORTデータをshorts (符号付き16ビット整数)の配列として返します。- 戻り値:
shortの配列としてのデータ。- 例外:
ClassCastException- フィールドの型がTIFF_SSHORTではない場合。
-
getAsInts
public int[] getAsInts()TIFFTag.TIFF_SLONGデータをints (符号付き32ビット整数)の配列として返します。- 戻り値:
intの配列としてのデータ。- 例外:
ClassCastException- フィールドが型TIFF_SHORT、TIFF_SSHORT、またはTIFF_SLONGでない場合。
-
getAsLongs
public long[] getAsLongs()TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlongs (符号付き64ビット整数)の配列として返します。- 戻り値:
longの配列としてのデータ。- 例外:
ClassCastException- フィールドが型TIFF_LONGまたはTIFF_IFD_POINTERでない場合。
-
getAsFloats
public float[] getAsFloats()TIFFTag.TIFF_FLOATデータをfloats (32ビット浮動小数点値)の配列として返します。- 戻り値:
floatの配列としてのデータ。- 例外:
ClassCastException- フィールドの型がTIFF_FLOATではない場合。
-
getAsDoubles
public double[] getAsDoubles()TIFFTag.TIFF_DOUBLEデータをdoubles (64ビット浮動小数点値)の配列として返します。- 戻り値:
doubleの配列としてのデータ。- 例外:
ClassCastException- フィールドの型がTIFF_DOUBLEではない場合。
-
getAsSRationals
public int[][] getAsSRationals()TIFFTag.TIFF_SRATIONALデータを、intの2要素配列の配列として返します。- 戻り値:
- 符号付き論理の配列としてのデータ。
- 例外:
ClassCastException- フィールドの型がTIFF_SRATIONALではない場合。
-
getAsRationals
public long[][] getAsRationals()TIFFTag.TIFF_RATIONALデータを、longの2要素配列の配列として返します。- 戻り値:
- 符号なし論理の配列としてのデータ。
- 例外:
ClassCastException- フィールドの型がTIFF_RATIONALではない場合。
-
getAsInt
public int getAsInt(int index) 任意の形式のデータをintとして返します。TIFFTag.TIFF_BYTE値は符号なしとして扱われます。つまり、符号拡張は行われず、戻り値は[0, 255]の範囲内になります。TIFF_SBYTEデータは[-128, 127]の範囲で返されます。TIFF_UNDEFINEDの値は、TIFF_BYTEのように扱われます。TIFF_SLONG,TIFF_LONG,TIFF_FLOAT,TIFF_DOUBLEまたはTIFF_IFD_POINTER形式のデータは、単にintにキャストされ、切り捨てられる可能性があります。TIFF_SRATIONALまたはTIFF_RATIONAL形式のデータは、倍精度算術を使用して分子を分母に分割し、次にintにキャストすることによって評価されます。 精度および切捨てが失われる可能性があります。TIFF_ASCII形式のデータは、Double.parseDoubleメソッドと同様に解析され、結果はintになります。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
intとして返します。
-
getAsLong
public long getAsLong(int index) 任意の形式のデータをlongとして返します。TIFFTag.TIFF_BYTEおよびTIFF_UNDEFINEDデータは符号なしとして扱われます。つまり、符号拡張は行われず、戻り値は[0, 255]の範囲内になります。TIFF_SBYTEデータは[-128, 127]の範囲で返されます。TIFF_FLOATおよびTIFF_DOUBLEのデータは、単純にlongにキャストされ、切り捨てられる可能性があります。TIFF_SRATIONALまたはTIFF_RATIONAL形式のデータは、倍精度算術を使用して分子を分母に分割し、次にlongにキャストすることによって評価されます。 精度および切捨てが失われる可能性があります。TIFF_ASCII形式のデータは、Double.parseDoubleメソッドと同様に解析され、結果はlongにキャストされます。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
longとして返します。
-
getAsFloat
public float getAsFloat(int index) 任意の形式のデータをfloatとして返します。TIFFTag.TIFF_BYTEおよびTIFF_UNDEFINEDデータは符号なしとして扱われます。つまり、符号拡張は行われず、戻り値は[0, 255]の範囲内になります。TIFF_SBYTEデータは[-128, 127]の範囲で返されます。TIFF_SLONG,TIFF_LONG,TIFF_DOUBLEまたはTIFF_IFD_POINTER形式のデータは、単にfloatにキャストされ、切り捨てられる可能性があります。TIFF_SRATIONALまたはTIFF_RATIONAL形式のデータは、倍精度算術を使用して分子を分母に分割し、次にfloatにキャストすることによって評価されます。TIFF_ASCII形式のデータは、Double.parseDoubleメソッドと同様に解析され、結果はfloatにキャストされます。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
floatとして返します。
-
getAsDouble
public double getAsDouble(int index) 任意の形式のデータをdoubleとして返します。TIFFTag.TIFF_BYTEおよびTIFF_UNDEFINEDデータは符号なしとして扱われます。つまり、符号拡張は行われず、戻り値は[0, 255]の範囲内になります。TIFF_SBYTEデータは[-128, 127]の範囲で返されます。TIFF_SRATIONALまたはTIFF_RATIONAL形式のデータは、倍精度演算を使用して分子を分母に分割することによって評価されます。TIFF_ASCII形式のデータは、Double.parseDoubleメソッドと同様に解析されます。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
doubleとして返します。
-
getAsString
public String getAsString(int index) TIFFTag.TIFF_ASCIIの値をStringとして返します。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
Stringとして返します。 - 例外:
ClassCastException- フィールドの型がTIFF_ASCIIではない場合。
-
getAsSRational
public int[] getAsSRational(int index) TIFFTag.TIFF_SRATIONALデータ・アイテムをintの2要素配列として返します。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスのデータを符号付き合理として指定します。
- 例外:
ClassCastException- フィールドの型がTIFF_SRATIONALではない場合。
-
getAsRational
public long[] getAsRational(int index) TIFFTag.TIFF_RATIONALデータ・アイテムをintの2要素配列として返します。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスのデータを符号なし論理として指定します。
- 例外:
ClassCastException- フィールドの型がTIFF_RATIONALではない場合。
-
getValueAsString
public String getValueAsString(int index) データ項目の人間が読めるバージョンを含むStringを返します。TIFFTag.TIFF_RATIONAL型またはTIFF_SRATIONAL型のデータは、'/'文字で区切られた整数のペアとして表されます。TIFFTag.TIFF_RATIONALまたはTIFF_SRATIONALの分子が分母の整数倍である場合、値は"q/1"として表されます。ここで、qは分子と分母の指数です。- パラメータ:
index- データの索引。- 戻り値:
- 指定されたインデックスにあるデータを
Stringとして返します。 - 例外:
ClassCastException- フィールドが有効なフィールド・タイプのいずれでもない場合。
-
hasDirectory
public boolean hasDirectory()フィールドにTIFFDirectoryがあるかどうかを返します。- 戻り値:
- getDirectory()がnull以外を返す場合にのみtrue。
-
getDirectory
public TIFFDirectory getDirectory()使用可能な場合は、関連するTIFFDirectoryを返します。 ディレクトリが設定されていない場合は、nullが返されます。- 戻り値:
- TIFFDirectoryインスタンスまたはnull。
-
clone
public TIFFField clone() throws CloneNotSupportedExceptionフィールドとそこに含まれるすべての情報をクローニングします。- オーバーライド:
clone、クラスObject- 戻り値:
- この
TIFFFieldのクローン。 - 例外:
CloneNotSupportedException- インスタンスをクローニングできない場合。- 関連項目:
-