- java.lang.Object
-
- javax.imageio.plugins.tiff.TIFFField
-
- すべての実装されたインタフェース:
Cloneable
public final class TIFFField extends Object implements Cloneable
TIFF 6.0イメージ・ファイル・ディレクトリのフィールドを表すクラス。TIFF Image File Directory (IFD)のフィールドは、同じデータ型の一連の値を伴うタグ番号として定義されます。 TIFF 6.0は12のデータ型を定義し、13番目の型
IFDはTIFF Specification Supplement 1のTIFF Tech Note 1で定義されています。 これらのTIFFデータ型は、Java定数によって参照され、次のように内部的にJava言語のデータ型および型名にマップされます。TIFFデータ型からJavaデータ型へのマッピング TIFFデータ型 Java定数 Javaデータ型 Javaタイプ名 BYTETIFFTag.TIFF_BYTEbyte"Byte"ASCIITIFFTag.TIFF_ASCIIString"Ascii"SHORTTIFFTag.TIFF_SHORTchar"Short"LONGTIFFTag.TIFF_LONGlong"Long"RATIONALTIFFTag.TIFF_RATIONALlong[2]{numerator, denominator}"Rational"SBYTETIFFTag.TIFF_SBYTEbyte"SByte"UNDEFINEDTIFFTag.TIFF_UNDEFINEDbyte"Undefined"SSHORTTIFFTag.TIFF_SSHORTshort"SShort"SLONGTIFFTag.TIFF_SLONGint"SLong"SRATIONALTIFFTag.TIFF_SRATIONALint[2]{numerator, denominator}"SRational"FLOATTIFFTag.TIFF_FLOATfloat"Float"DOUBLETIFFTag.TIFF_DOUBLEdouble"Double"IFDTIFFTag.TIFF_IFD_POINTERlong"IFDPointer"- 導入されたバージョン:
- 9
- 関連項目:
TIFFDirectory,TIFFTag
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 TIFFField(TIFFTag tag, int type, int count)createArrayForType()を使用してデータ配列を構築し、指定されたパラメータおよび作成された配列でTIFFField(TIFFTag,int,int,Object)を呼び出します。TIFFField(TIFFTag tag, int type, int count, Object data)任意のデータでTIFFFieldを構築します。TIFFField(TIFFTag tag, int type, long offset, TIFFDirectory dir)IFDオフセットおよび内容を含むTIFFFieldを構築します。TIFFField(TIFFTag tag, long value)負でない単一の整数値でTIFFFieldを構築します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 TIFFFieldclone()フィールドとそこに含まれるすべての情報を複製します。static ObjectcreateArrayForType(int dataType, int count)指定されたデータ型に適した配列を作成します。static TIFFFieldcreateFromMetadataNode(TIFFTagSet tagSet, Node node)TIFFネイティブ・イメージ・メタデータ・ノードからTIFFFieldを作成します。byte[]getAsBytes()データをbyteの未解釈の配列として返します。char[]getAsChars()TIFFTag.TIFF_SHORTデータをcharの配列として返します(符号なし16ビット整数)。doublegetAsDouble(int index)doubleとして任意の形式でデータを返します。double[]getAsDoubles()TIFFTag.TIFF_DOUBLEデータをdoubleの配列(64ビット浮動小数点値)として返します。floatgetAsFloat(int index)floatとして任意の形式でデータを返します。float[]getAsFloats()TIFFTag.TIFF_FLOATデータをfloatの配列(32ビット浮動小数点値)として返します。intgetAsInt(int index)intとして任意の形式でデータを返します。int[]getAsInts()TIFFTag.TIFF_SLONGデータをintの配列(符号付き32ビット整数)として返します。longgetAsLong(int index)longとして任意の形式でデータを返します。long[]getAsLongs()TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlongの配列(符号付き64ビット整数)として返します。NodegetAsNativeNode()TIFFFieldを、TIFFネイティブ・イメージ・メタデータ仕様で説明されているように、"TIFFField"または"TIFFIFD"という名前のノードとして返します。long[]getAsRational(int index)TIFFTag.TIFF_RATIONALデータ・アイテムをintの2要素配列として返します。long[][]getAsRationals()TIFFTag.TIFF_RATIONALデータをlongの2要素配列の配列として返します。short[]getAsShorts()TIFFTag.TIFF_SSHORTデータをshortの配列(符号付き16ビット整数)として返します。int[]getAsSRational(int index)TIFFTag.TIFF_SRATIONALデータ・アイテムをintの2要素配列として返します。int[][]getAsSRationals()TIFFTag.TIFF_SRATIONALデータをintの2要素配列の配列として返します。StringgetAsString(int index)TIFFTag.TIFF_ASCII値をStringとして返します。intgetCount()フィールドに存在するデータ項目の数を返します。ObjectgetData()フィールドに関連付けられているデータ・オブジェクトへの参照を返します。TIFFDirectorygetDirectory()使用可能な場合は、関連付けられたTIFFDirectoryを返します。TIFFTaggetTag()このフィールドに関連付けられているタグを取得します。intgetTagNumber()範囲[0,65535]のタグ番号を取得します。intgetType()フィールドに格納されているデータの型を返します。static intgetTypeByName(String typeName)指定されたデータ型名に対応するデータ型定数を返します。static StringgetTypeName(int dataType)指定されたデータ型定数の名前を返します。StringgetValueAsString(int index)データ・アイテムの判読可能なバージョンを含むStringを返します。booleanhasDirectory()フィールドにTIFFDirectoryがあるかどうかを返します。booleanisIntegral()フィールドに関連付けられている値が整数データ型かどうかを示します。
-
-
-
コンストラクタの詳細
-
TIFFField
public TIFFField(TIFFTag tag, int type, int count, Object data)
任意のデータでTIFFFieldを構築します。typeパラメータは、tag.isDataTypeOK()がtrueを返す値である必要があります。dataパラメータは、TIFFフィールドの型に適したJava型の配列である必要があります。TIFFFieldの値(データ)は、その値に必要なバイト数に関係なく、常に実際のフィールド値になります。 これは、フィールドに対応する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(TIFFTag,int,int,Object)
-
TIFFField
public TIFFField(TIFFTag tag, long value)
負でない単一の整数値でTIFFFieldを構築します。 フィールドは、valueが[0,0xffff]にある場合はTIFF_SHORT型、valueが[0x10000,0xffffffff]にある場合はTIFF_LONG型になります。 フィールドのカウントはunityになります。- パラメータ:
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}として格納されます。 ディレクトリはクローニングされません。 フィールドのカウントはunityになります。- パラメータ:
tag- このフィールドに関連付けるタグ。type-TIFFTag.TIFF_LONGまたはTIFFTag.TIFF_IFD_POINTERのいずれかの定数。offset- IFDオフセット。dir- ディレクトリ。- 例外:
NullPointerException-tag == nullの場合。IllegalArgumentException-typeが、指定されたTIFFTagの許容できないデータ型の場合。IllegalArgumentException-typeがTIFFTag.TIFF_LONGでもTIFFTag.TIFF_IFD_POINTERでもない場合。IllegalArgumentException-offset <= 0の場合。NullPointerException-dir == nullの場合。- 関連項目:
TIFFField(TIFFTag,int,int,Object)
-
-
メソッドの詳細
-
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
public TIFFTag getTag()
このフィールドに関連付けられているタグを取得します。- 戻り値:
- 関連付けられた
TIFFTag。
-
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つ、または名前が認識されない場合は-1。
-
createArrayForType
public static Object createArrayForType(int dataType, int count)
指定されたデータ型に適した配列を作成します。- パラメータ:
dataType-TIFFTag.TIFF_*データ型定数の1つ。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()
TIFFFieldを、TIFFネイティブ・イメージ・メタデータ仕様で説明されているように、"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
public Object 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データをcharの配列として返します(符号なし16ビット整数)。- 戻り値:
charの配列としてのデータ。- 例外:
ClassCastException- フィールドのタイプがTIFF_SHORTでない場合。
-
getAsShorts
public short[] getAsShorts()
TIFFTag.TIFF_SSHORTデータをshortの配列(符号付き16ビット整数)として返します。- 戻り値:
shortの配列としてのデータ。- 例外:
ClassCastException- フィールドのタイプがTIFF_SSHORTでない場合。
-
getAsInts
public int[] getAsInts()
TIFFTag.TIFF_SLONGデータをintの配列(符号付き32ビット整数)として返します。- 戻り値:
intの配列としてのデータ。- 例外:
ClassCastException- フィールドのタイプがTIFF_SHORT、TIFF_SSHORTまたはTIFF_SLONGでない場合。
-
getAsLongs
public long[] getAsLongs()
TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlongの配列(符号付き64ビット整数)として返します。- 戻り値:
longの配列としてのデータ。- 例外:
ClassCastException- フィールドのタイプがTIFF_LONGまたはTIFF_IFD_POINTERでない場合。
-
getAsFloats
public float[] getAsFloats()
TIFFTag.TIFF_FLOATデータをfloatの配列(32ビット浮動小数点値)として返します。- 戻り値:
floatの配列としてのデータ。- 例外:
ClassCastException- フィールドのタイプがTIFF_FLOATでない場合。
-
getAsDoubles
public double[] getAsDoubles()
TIFFTag.TIFF_DOUBLEデータをdoubleの配列(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- インスタンスをクローニングできない場合。- 関連項目:
Cloneable
-
-