モジュール java.desktop

クラスTIFFField

java.lang.Object
javax.imageio.plugins.tiff.TIFFField
すべての実装されたインタフェース:
Cloneable

public final class TIFFField extends Object implements Cloneable
TIFF 6.0イメージ・ファイル・ディレクトリ内のフィールドを表すクラス。

TIFFイメージ・ファイル・ディレクトリ(IFD)のフィールドは、同じデータ型の値のシーケンスを伴うタグ番号として定義されます。 TIFF 6.0は12のデータ型を定義します。13番目の型IFDは、TIFF Specification Supplement 1のTIFF Tech Note 1で定義されます。 これらのTIFFデータ型はJava定数によって参照され、Java言語のデータ型と型名に内部的に次のようにマップされます:

TIFFデータ型から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
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    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)
    負でない1つの整数値を持つTIFFFieldを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    フィールドとそこに含まれるすべての情報をクローニングします。
    static Object
    createArrayForType(int dataType, int count)
    指定されたデータ型に適した配列を作成します。
    static TIFFField
    TIFFネイティブ・イメージ・メタデータ・ノードからTIFFFieldを作成します。
    byte[]
    データをbyteの解釈されない配列として戻します。
    char[]
    TIFFTag.TIFF_SHORTデータをchar s (符号なし16ビット整数)の配列として返します。
    double
    getAsDouble(int index)
    任意の形式のデータをdoubleとして返します。
    double[]
    TIFFTag.TIFF_DOUBLEデータをdouble s (64ビット浮動小数点値)の配列として返します。
    float
    getAsFloat(int index)
    任意の形式のデータをfloatとして返します。
    float[]
    TIFFTag.TIFF_FLOATデータをfloat s (32ビット浮動小数点値)の配列として返します。
    int
    getAsInt(int index)
    任意の形式のデータをintとして返します。
    int[]
    TIFFTag.TIFF_SLONGデータをint s (符号付き32ビット整数)の配列として返します。
    long
    getAsLong(int index)
    任意の形式のデータをlongとして返します。
    long[]
    TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlong s (符号付き64ビット整数)の配列として返します。
    TIFFネイティブ・イメージ・メタデータ仕様の説明に従って、TIFFField"TIFFField"または"TIFFIFD"という名前のノードとして返します。
    long[]
    getAsRational(int index)
    TIFFTag.TIFF_RATIONALデータ・アイテムをintの2要素配列として返します。
    long[][]
    TIFFTag.TIFF_RATIONALデータを、longの2要素配列の配列として返します。
    short[]
    TIFFTag.TIFF_SSHORTデータをshort s (符号付き16ビット整数)の配列として返します。
    int[]
    getAsSRational(int index)
    TIFFTag.TIFF_SRATIONALデータ・アイテムをintの2要素配列として返します。
    int[][]
    TIFFTag.TIFF_SRATIONALデータを、intの2要素配列の配列として返します。
    getAsString(int index)
    TIFFTag.TIFF_ASCIIの値をStringとして返します。
    int
    フィールドに存在するデータ・アイテムの数を返します。
    フィールドに関連付けられたデータ・オブジェクトへの参照を返します。
    使用可能な場合は、関連するTIFFDirectoryを返します。
    このフィールドに関連付けられているタグを取得します。
    int
    [0,65535]の範囲のタグ番号を取得します。
    int
    フィールドに格納されているデータの型を返します。
    static int
    指定されたデータ型名に対応するデータ型定数を返します。
    static String
    getTypeName(int dataType)
    指定されたデータ型定数の名前を返します。
    getValueAsString(int index)
    データ項目の人間が読めるバージョンを含むStringを返します。
    boolean
    フィールドにTIFFDirectoryがあるかどうかを返します。
    boolean
    フィールドに関連付けられた値が整数データ型かどうかを示します。

    クラスjava.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • TIFFField

      public TIFFField(TIFFTag tag, int type, int count, Object data)
      任意のデータを使用して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 - typeTIFFTag.TIFF_*データ型の定数のいずれでもない場合。
      IllegalArgumentException - typeが、指定されたTIFFTagの許容できないデータ型である場合。
      IllegalArgumentException - count < 0の場合。
      IllegalArgumentException - count < 1typeTIFF_RATIONALまたはTIFF_SRATIONALの場合。
      IllegalArgumentException - count != 1typeTIFF_IFD_POINTERの場合。
      NullPointerException - data == nullの場合。
      IllegalArgumentException - dataが、指定された型と互換性のないクラスのインスタンスである場合。
      IllegalArgumentException - データ配列のサイズが間違っている場合。
      IllegalArgumentException - データ配列の型がTIFF_LONGTIFF_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 - typeTIFFTag.TIFF_*データ型の定数のいずれでもない場合。
      IllegalArgumentException - typeが、指定されたTIFFTagの許容できないデータ型である場合。
      IllegalArgumentException - count < 0の場合。
      IllegalArgumentException - count < 1typeTIFF_RATIONALまたはTIFF_SRATIONALの場合。
      IllegalArgumentException - count != 1typeTIFF_IFD_POINTERの場合。
      関連項目:
    • TIFFField

      public TIFFField(TIFFTag tag, long value)
      負でない1つの整数値を持つTIFFFieldを構築します。 value[0,0xffff]の場合、フィールドの型はTIFF_SHORTvalue[0x10000,0xffffffff]の場合はTIFF_LONGと入力します。 フィールドのカウントは統一になります。
      パラメータ:
      tag - このフィールドに関連付けるタグ。
      value - このフィールドに関連付ける値。
      例外:
      NullPointerException - tag == nullの場合。
      IllegalArgumentException - value[0,0xffffffff]にない場合。
      IllegalArgumentException - value[0,0xffff]にあり、TIFF_SHORTTIFFTagのために受け入れられない型である場合、またはvalue[0x10000,0xffffffff]にあり、TIFF_LONGTIFFTagのために受け入れがたい型である場合。
    • 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 - typeTIFFTag.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

      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 - dataTypeTIFFTag.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 - dataTypeTIFFTag.TIFF_*データ型の定数のいずれでもない場合。
      IllegalArgumentException - count < 0の場合。
      IllegalArgumentException - count < 1typeTIFF_RATIONALまたはTIFF_SRATIONALの場合。
      IllegalArgumentException - count != 1typeTIFF_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

      public Object getData()
      フィールドに関連付けられたデータ・オブジェクトへの参照を返します。
      戻り値:
      フィールドのデータ・オブジェクト。
    • getAsBytes

      public byte[] getAsBytes()
      データをbyteの解釈されない配列として戻します。 フィールドの型は、TIFFTag.TIFF_BYTETIFF_SBYTE、またはTIFF_UNDEFINEDのいずれかでなければなりません。

      TIFFTag.TIFF_BYTE形式のデータの場合、アプリケーションは、符号拡張を回避するために、データをより長い整数型に昇格する際に注意する必要があります。

      戻り値:
      バイトの解釈されない配列としてのデータ。
      例外:
      ClassCastException - フィールドが型TIFF_BYTETIFF_SBYTE、またはTIFF_UNDEFINEDでない場合。
    • getAsChars

      public char[] getAsChars()
      TIFFTag.TIFF_SHORTデータをchar s (符号なし16ビット整数)の配列として返します。
      戻り値:
      charの配列としてのデータ。
      例外:
      ClassCastException - フィールドの型がTIFF_SHORTではない場合。
    • getAsShorts

      public short[] getAsShorts()
      TIFFTag.TIFF_SSHORTデータをshort s (符号付き16ビット整数)の配列として返します。
      戻り値:
      shortの配列としてのデータ。
      例外:
      ClassCastException - フィールドの型がTIFF_SSHORTではない場合。
    • getAsInts

      public int[] getAsInts()
      TIFFTag.TIFF_SLONGデータをint s (符号付き32ビット整数)の配列として返します。
      戻り値:
      intの配列としてのデータ。
      例外:
      ClassCastException - フィールドが型TIFF_SHORTTIFF_SSHORT、またはTIFF_SLONGでない場合。
    • getAsLongs

      public long[] getAsLongs()
      TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlong s (符号付き64ビット整数)の配列として返します。
      戻り値:
      longの配列としてのデータ。
      例外:
      ClassCastException - フィールドが型TIFF_LONGまたはTIFF_IFD_POINTERでない場合。
    • getAsFloats

      public float[] getAsFloats()
      TIFFTag.TIFF_FLOATデータをfloat s (32ビット浮動小数点値)の配列として返します。
      戻り値:
      floatの配列としてのデータ。
      例外:
      ClassCastException - フィールドの型がTIFF_FLOATではない場合。
    • getAsDoubles

      public double[] getAsDoubles()
      TIFFTag.TIFF_DOUBLEデータをdouble s (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 - インスタンスをクローニングできない場合。
      関連項目: