モジュール java.desktop

クラスTIFFDirectory

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

public class TIFFDirectory extends Object implements Cloneable
TIFFネイティブ・イメージ・メタデータとの対話を簡略化するコンビニエンス・クラス。 TIFFイメージ・メタデータ・ツリーは、TIFF 6.0ストリームからのイメージ・ファイル・ディレクトリ(IFD)を表します。 IFDは、識別タグ番号を互換性のある値に関連付ける複数のIFDエントリで構成されます。 TIFFDirectoryインスタンスはIFDに対応し、IFD内のIFDエントリに対応するTIFFFieldのセットを含みます。

読取り時に、ImageReader.getImageMetadata()から返された値をcreateFromMetadata()に渡すことで、TIFFDirectoryを作成できます。 ディレクトリ内のTIFFFieldは、このクラスで提供されるアクセッサ・メソッドを使用して取得できます。

記述時に、ImageWriterwrite()メソッドのいずれかで使用するIIOMetadataオブジェクトは、getAsMetadata()によってTIFFDirectoryから作成できます。 TIFFDirectory自体は、構築によって、またはImageWriter.getDefaultImageMetadata()によって返されるIIOMetadataオブジェクトから作成されます。 ディレクトリ内のTIFFFieldは、このクラスで提供されるミューテータ・メソッドを使用して設定できます。

TIFFDirectoryは、それに関連付けられているTIFFTagSetのグループ内のタグ番号を認識します。 ネイティブ・イメージ・メタデータ・オブジェクトからTIFFDirectoryが作成されると、これらのタグ・セットはTIFFIFDノードのtagSets属性から導出されます。

TIFFDirectoryには、親TIFFTagも含まれている可能性があります。 これは、ディレクトリがイメージのルートIFD以外のIFDを表す場合に発生します。 親タグは、このTIFFDirectoryによって表されるIFDへのポインタであるIFDエントリのタグです。 この親TIFFTagTIFFTag.isIFDPointer()メソッドは、trueを返す必要があります。 ネイティブ・イメージ・メタデータ・オブジェクトからTIFFDirectoryが作成されると、対応するTIFFIFDノードのparentTagName属性から親タグ・セットが設定されます。 null以外の親タグを持つTIFFDirectoryインスタンスは、含まれているディレクトリの親タグと等しいタグ・フィールドを持つTIFFFieldインスタンスのデータ・フィールドに含まれることに注意してください。

例として、Exifイメージを考えてみます。 ExifストリームのExif IFDに対応するTIFFDirectoryインスタンスは、親タグTAG_EXIF_IFD_POINTERを持ち、その既知のタグ・セットのグループにExifTIFFTagSetを含めます。 このExif IFDに対応するTIFFDirectoryは、TIFFFieldのデータ・フィールドに含まれます。このフィールドは、ExifイメージのプライマリIFDに対応するTIFFDirectoryに含まれます。このIFD自体は、null値を持つ親タグを持ちます。

この実装はsynchronizedされません。 複数のスレッドが同時にTIFFDirectoryインスタンスを使用し、少なくとも1つのスレッドがディレクトリを変更する場合(TIFFFieldまたはTIFFTagSetの追加または削除など)、外部で同期する必要があります。

導入されたバージョン:
9
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag)
    TIFFTagSetの特定のグループを認識するTIFFDirectoryを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    このディレクトリを認識するTIFFTagSetのグループに対して要素を追加します。
    void
    ディレクトリにTIFFフィールドを追加します。
    ディレクトリおよびそこに含まれるすべてのフィールドをクローニングします。
    boolean
    containsTIFFField(int tagNumber)
    指定されたタグ番号のTIFFフィールドがこのディレクトリに含まれるかどうかを決定します。
    createFromMetadata(IIOMetadata tiffImageMetadata)
    イメージ・メタデータ・オブジェクトのコンテンツからTIFFDirectoryインスタンスを作成します。
    ディレクトリをメタデータ・オブジェクトに変換します。
    int
    このディレクトリ内のTIFFFieldの数を返します。
    このディレクトリが定義されている場合は親のTIFFTagを返し、それ以外の場合はnullを返します。
    getTag(int tagNumber)
    このディレクトリに関連付けられているTIFFTagSetにそのようなタグが存在しない場合は、tagNumberと等しいタグ番号を持つTIFFTagまたはnullを返します。
    このディレクトリが認識されているTIFFTagSetを返します。
    getTIFFField(int tagNumber)
    ディレクトリからTIFFフィールドを取得します。
    ディレクトリからすべてのTIFFフィールドを取得します。
    void
    このディレクトリが認識しているTIFFTagSetのグループから要素を削除します。
    void
    removeTIFFField(int tagNumber)
    ディレクトリからTIFFフィールドを削除します。
    void
    ディレクトリからすべてのTIFFフィールドを削除します。

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

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

    • TIFFDirectory

      public TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag)
      TIFFTagSetの特定のグループを認識するTIFFDirectoryを構築します。 オプションの親TIFFTagも指定できます。
      パラメータ:
      tagSets - このディレクトリに関連付けられているTIFFTagSets
      parentTag - このディレクトリの親TIFFTagnullです。
      例外:
      NullPointerException - tagSetsnullの場合。
  • メソッドの詳細

    • createFromMetadata

      public static TIFFDirectory createFromMetadata(IIOMetadata tiffImageMetadata) throws IIOInvalidTreeException
      イメージ・メタデータ・オブジェクトのコンテンツからTIFFDirectoryインスタンスを作成します。 指定されたオブジェクトは、TIFF ImageWriterプラグインでサポートされているイメージ・メタデータ形式をサポートしている必要があります。 これは、通常、TIFFネイティブ・イメージ・メタデータ形式javax_imageio_tiff_image_1.0またはJava Image I/O標準メタデータ形式javax_imageio_1.0のいずれかになります。
      パラメータ:
      tiffImageMetadata - 互換性のあるイメージ・メタデータ形式をサポートするメタデータ・オブジェクト。
      戻り値:
      指定されたメタデータ・オブジェクトの内容から移入されたTIFFDirectory
      例外:
      NullPointerException - tiffImageMetadatanullの場合。
      IllegalArgumentException - tiffImageMetadataが互換性のあるイメージ・メタデータ形式をサポートしていない場合。
      IIOInvalidTreeException - 指定されたメタデータ・オブジェクトを解析できない場合。
    • getTagSets

      public TIFFTagSet[] getTagSets()
      このディレクトリが認識されているTIFFTagSetを返します。
      戻り値:
      このTIFFDirectoryに関連付けられたTIFFTagSet
    • addTagSet

      public void addTagSet(TIFFTagSet tagSet)
      このディレクトリを認識するTIFFTagSetのグループに対して要素を追加します。
      パラメータ:
      tagSet - 追加するTIFFTagSet
      例外:
      NullPointerException - tagSetnullの場合。
    • removeTagSet

      public void removeTagSet(TIFFTagSet tagSet)
      このディレクトリが認識しているTIFFTagSetのグループから要素を削除します。
      パラメータ:
      tagSet - 削除するTIFFTagSet
      例外:
      NullPointerException - tagSetnullの場合。
    • getParentTag

      public TIFFTag getParentTag()
      このディレクトリが定義されている場合は親のTIFFTagを返し、それ以外の場合はnullを返します。
      戻り値:
      このTIFFDiectoryまたはnullの親TIFFTag
    • getTag

      public TIFFTag getTag(int tagNumber)
      このディレクトリに関連付けられているTIFFTagSetにそのようなタグが存在しない場合は、tagNumberと等しいタグ番号を持つTIFFTagまたはnullを返します。
      パラメータ:
      tagNumber - 関心のあるタグ番号。
      戻り値:
      対応するTIFFTagまたはnull
    • getNumTIFFFields

      public int getNumTIFFFields()
      このディレクトリ内のTIFFFieldの数を返します。
      戻り値:
      このTIFFDirectory内のTIFFFieldの数。
    • containsTIFFField

      public boolean containsTIFFField(int tagNumber)
      指定されたタグ番号のTIFFフィールドがこのディレクトリに含まれるかどうかを決定します。
      パラメータ:
      tagNumber - タグ番号。
      戻り値:
      タグ番号がtagNumberに等しいTIFFTagがこのTIFFDirectoryに存在するかどうか。
    • addTIFFField

      public void addTIFFField(TIFFField f)
      ディレクトリにTIFFフィールドを追加します。
      パラメータ:
      f - 追加するフィールド。
      例外:
      NullPointerException - fnullの場合。
    • getTIFFField

      public TIFFField getTIFFField(int tagNumber)
      ディレクトリからTIFFフィールドを取得します。
      パラメータ:
      tagNumber - フィールドに関連付けられているタグのタグ番号。
      戻り値:
      そのようなフィールドが存在しない場合、リクエストされたタグ番号がnullTIFFField
    • removeTIFFField

      public void removeTIFFField(int tagNumber)
      ディレクトリからTIFFフィールドを削除します。
      パラメータ:
      tagNumber - フィールドに関連付けられているタグのタグ番号。
    • getTIFFFields

      public TIFFField[] getTIFFFields()
      ディレクトリからすべてのTIFFフィールドを取得します。
      戻り値:
      すべてのTIFFフィールドの、タグ番号の数値を増やす順の配列。
    • removeTIFFFields

      public void removeTIFFFields()
      ディレクトリからすべてのTIFFフィールドを削除します。
    • getAsMetadata

      public IIOMetadata getAsMetadata()
      ディレクトリをメタデータ・オブジェクトに変換します。
      戻り値:
      このTIFFDirectoryの内容から初期化されたメタデータ・インスタンス。
    • clone

      ディレクトリおよびそこに含まれるすべてのフィールドをクローニングします。
      オーバーライド:
      clone、クラスObject
      戻り値:
      このTIFFDirectoryのクローン。
      例外:
      CloneNotSupportedException - インスタンスをクローニングできない場合。
      関連項目: