クラス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フィールドを削除します。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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 - インスタンスをクローニングできない場合。
      関連項目: