- すべての実装されたインタフェース:
Cloneable
TIFFDirectory
インスタンスはIFDに対応し、IFD内のIFDエントリに対応するTIFFField
のセットを含みます。
読取り時に、ImageReader.getImageMetadata()
から返された値をcreateFromMetadata()
に渡すことで、TIFFDirectory
を作成できます。 ディレクトリ内のTIFFField
は、このクラスで提供されるアクセッサ・メソッドを使用して取得できます。
記述時に、ImageWriter
のwrite()
メソッドのいずれかで使用するIIOMetadata
オブジェクトは、getAsMetadata()
によってTIFFDirectory
から作成できます。 TIFFDirectory
自体は、構築によって、またはImageWriter.getDefaultImageMetadata()
によって返されるIIOMetadata
オブジェクトから作成されます。 ディレクトリ内のTIFFField
は、このクラスで提供されるミューテータ・メソッドを使用して設定できます。
TIFFDirectory
は、それに関連付けられているTIFFTagSet
のグループ内のタグ番号を認識します。 ネイティブ・イメージ・メタデータ・オブジェクトからTIFFDirectory
が作成されると、これらのタグ・セットはTIFFIFD
ノードのtagSets
属性から導出されます。
TIFFDirectory
には、親TIFFTag
も含まれている可能性があります。 これは、ディレクトリがイメージのルートIFD以外のIFDを表す場合に発生します。 親タグは、このTIFFDirectory
によって表されるIFDへのポインタであるIFDエントリのタグです。 この親TIFFTag
のTIFFTag.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
addTagSet
(TIFFTagSet tagSet) このディレクトリを認識するTIFFTagSet
のグループに対して要素を追加します。void
ディレクトリにTIFFフィールドを追加します。clone()
ディレクトリおよびそこに含まれるすべてのフィールドをクローニングします。boolean
containsTIFFField
(int tagNumber) 指定されたタグ番号のTIFFフィールドがこのディレクトリに含まれるかどうかを決定します。static TIFFDirectory
createFromMetadata
(IIOMetadata tiffImageMetadata) イメージ・メタデータ・オブジェクトのコンテンツからTIFFDirectory
インスタンスを作成します。ディレクトリをメタデータ・オブジェクトに変換します。int
このディレクトリ内のTIFFField
の数を返します。このディレクトリが定義されている場合は親のTIFFTag
を返し、それ以外の場合はnull
を返します。getTag
(int tagNumber) このディレクトリに関連付けられているTIFFTagSet
にそのようなタグが存在しない場合は、tagNumber
と等しいタグ番号を持つTIFFTag
またはnull
を返します。このディレクトリが認識されているTIFFTagSet
を返します。getTIFFField
(int tagNumber) ディレクトリからTIFFフィールドを取得します。ディレクトリからすべてのTIFFフィールドを取得します。void
removeTagSet
(TIFFTagSet tagSet) このディレクトリが認識しているTIFFTagSet
のグループから要素を削除します。void
removeTIFFField
(int tagNumber) ディレクトリからTIFFフィールドを削除します。void
ディレクトリからすべてのTIFFフィールドを削除します。
-
コンストラクタの詳細
-
TIFFDirectory
public TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag) TIFFTagSet
の特定のグループを認識するTIFFDirectory
を構築します。 オプションの親TIFFTag
も指定できます。- パラメータ:
tagSets
- このディレクトリに関連付けられているTIFFTagSets
。parentTag
- このディレクトリの親TIFFTag
。null
です。- 例外:
NullPointerException
-tagSets
がnull
の場合。
-
-
メソッドの詳細
-
createFromMetadata
public static TIFFDirectory createFromMetadata(IIOMetadata tiffImageMetadata) throws IIOInvalidTreeException イメージ・メタデータ・オブジェクトのコンテンツからTIFFDirectory
インスタンスを作成します。 指定されたオブジェクトは、TIFFImageWriter
プラグインでサポートされているイメージ・メタデータ形式をサポートしている必要があります。 これは、通常、TIFFネイティブ・イメージ・メタデータ形式javax_imageio_tiff_image_1.0
またはJava Image I/O標準メタデータ形式javax_imageio_1.0
のいずれかになります。- パラメータ:
tiffImageMetadata
- 互換性のあるイメージ・メタデータ形式をサポートするメタデータ・オブジェクト。- 戻り値:
- 指定されたメタデータ・オブジェクトの内容から移入された
TIFFDirectory
。 - 例外:
NullPointerException
-tiffImageMetadata
がnull
の場合。IllegalArgumentException
-tiffImageMetadata
が互換性のあるイメージ・メタデータ形式をサポートしていない場合。IIOInvalidTreeException
- 指定されたメタデータ・オブジェクトを解析できない場合。
-
getTagSets
public TIFFTagSet[] getTagSets()このディレクトリが認識されているTIFFTagSet
を返します。- 戻り値:
- この
TIFFDirectory
に関連付けられたTIFFTagSet
。
-
addTagSet
public void addTagSet(TIFFTagSet tagSet) このディレクトリを認識するTIFFTagSet
のグループに対して要素を追加します。- パラメータ:
tagSet
- 追加するTIFFTagSet
。- 例外:
NullPointerException
-tagSet
がnull
の場合。
-
removeTagSet
public void removeTagSet(TIFFTagSet tagSet) このディレクトリが認識しているTIFFTagSet
のグループから要素を削除します。- パラメータ:
tagSet
- 削除するTIFFTagSet
。- 例外:
NullPointerException
-tagSet
がnull
の場合。
-
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
-f
がnull
の場合。
-
getTIFFField
public TIFFField getTIFFField(int tagNumber) ディレクトリからTIFFフィールドを取得します。- パラメータ:
tagNumber
- フィールドに関連付けられているタグのタグ番号。- 戻り値:
- そのようなフィールドが存在しない場合、リクエストされたタグ番号が
null
のTIFFField
。
-
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
public TIFFDirectory clone() throws CloneNotSupportedExceptionディレクトリおよびそこに含まれるすべてのフィールドをクローニングします。- オーバーライド:
clone
、クラスObject
- 戻り値:
- この
TIFFDirectory
のクローン。 - 例外:
CloneNotSupportedException
- インスタンスをクローニングできない場合。- 関連項目:
-