モジュール 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
関連項目: