モジュール java.desktop

クラスTIFFField

    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      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を構築します。
    • メソッドのサマリー

      すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      TIFFField clone()
      フィールドとそこに含まれるすべての情報を複製します。
      static Object createArrayForType​(int dataType, int count)
      指定されたデータ型に適した配列を作成します。
      static TIFFField createFromMetadataNode​(TIFFTagSet tagSet, Node node)
      TIFFネイティブ・イメージ・メタデータ・ノードからTIFFFieldを作成します。
      byte[] getAsBytes()
      データをbyteの未解釈の配列として返します。
      char[] getAsChars()
      TIFFTag.TIFF_SHORTデータをcharの配列として返します(符号なし16ビット整数)。
      double getAsDouble​(int index)
      doubleとして任意の形式でデータを返します。
      double[] getAsDoubles()
      TIFFTag.TIFF_DOUBLEデータをdoubleの配列(64ビット浮動小数点値)として返します。
      float getAsFloat​(int index)
      floatとして任意の形式でデータを返します。
      float[] getAsFloats()
      TIFFTag.TIFF_FLOATデータをfloatの配列(32ビット浮動小数点値)として返します。
      int getAsInt​(int index)
      intとして任意の形式でデータを返します。
      int[] getAsInts()
      TIFFTag.TIFF_SLONGデータをintの配列(符号付き32ビット整数)として返します。
      long getAsLong​(int index)
      longとして任意の形式でデータを返します。
      long[] getAsLongs()
      TIFFTag.TIFF_LONGまたはTIFF_IFD_POINTERデータをlongの配列(符号付き64ビット整数)として返します。
      Node getAsNativeNode()
      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要素配列の配列として返します。
      String getAsString​(int index)
      TIFFTag.TIFF_ASCII値をStringとして返します。
      int getCount()
      フィールドに存在するデータ項目の数を返します。
      Object getData()
      フィールドに関連付けられているデータ・オブジェクトへの参照を返します。
      TIFFDirectory getDirectory()
      使用可能な場合は、関連付けられたTIFFDirectoryを返します。
      TIFFTag getTag()
      このフィールドに関連付けられているタグを取得します。
      int getTagNumber()
      範囲[0,65535]のタグ番号を取得します。
      int getType()
      フィールドに格納されているデータの型を返します。
      static int getTypeByName​(String typeName)
      指定されたデータ型名に対応するデータ型定数を返します。
      static String getTypeName​(int dataType)
      指定されたデータ型定数の名前を返します。
      String getValueAsString​(int index)
      データ・アイテムの判読可能なバージョンを含むStringを返します。
      boolean hasDirectory()
      フィールドにTIFFDirectoryがあるかどうかを返します。
      boolean isIntegral()
      フィールドに関連付けられている値が整数データ型かどうかを示します。
    • コンストラクタの詳細

      • 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 - typeTIFFTag.TIFF_*データ型定数のいずれでもない場合。
        IllegalArgumentException - typeが、指定されたTIFFTagの許容できないデータ型の場合。
        IllegalArgumentException - count < 0の場合。
        IllegalArgumentException - count < 1およびtypeTIFF_RATIONALまたはTIFF_SRATIONALの場合。
        IllegalArgumentException - count != 1およびtypeTIFF_IFD_POINTERの場合。
        NullPointerException - data == nullの場合。
        IllegalArgumentException - dataが、指定された型と互換性がないクラスのインスタンスである場合。
        IllegalArgumentException - データ配列のサイズが間違っている場合。
        IllegalArgumentException - データ配列の型がTIFF_LONGTIFF_RATIONALまたはTIFF_IFD_POINTERで、いずれかの要素が負または0xffffffffより大きい場合。
      • 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_SHORTTIFFTagの許容できない型である場合、またはvalue[0x10000,0xffffffff]にあり、TIFF_LONGTIFFTagの許容できない型である場合。
      • 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 - typeTIFFTag.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 - dataTypeTIFFTag.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 - dataTypeTIFFTag.TIFF_*データ型定数のいずれでもない場合。
        IllegalArgumentException - count < 0の場合。
        IllegalArgumentException - count < 1およびtypeTIFF_RATIONALまたはTIFF_SRATIONALの場合。
        IllegalArgumentException - count != 1およびtypeTIFF_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_BYTETIFF_SBYTEまたはTIFF_UNDEFINEDのいずれかである必要があります。

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

        戻り値:
        データは未解釈のバイト配列です。
        例外:
        ClassCastException - フィールドのタイプがTIFF_BYTETIFF_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_SHORTTIFF_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_SLONGTIFF_LONGTIFF_FLOATTIFF_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_SLONGTIFF_LONGTIFF_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。