クラスTIFFDirectory
- すべての実装されたインタフェース:
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を構築します。 -
メソッドのサマリー
修飾子と型メソッド説明voidaddTagSet(TIFFTagSet tagSet) このディレクトリを認識するTIFFTagSetのグループに対して要素を追加します。voidディレクトリにTIFFフィールドを追加します。clone()ディレクトリおよびそこに含まれるすべてのフィールドをクローニングします。booleancontainsTIFFField(int tagNumber) 指定されたタグ番号のTIFFフィールドがこのディレクトリに含まれるかどうかを決定します。static TIFFDirectorycreateFromMetadata(IIOMetadata tiffImageMetadata) イメージ・メタデータ・オブジェクトのコンテンツからTIFFDirectoryインスタンスを作成します。ディレクトリをメタデータ・オブジェクトに変換します。intこのディレクトリ内のTIFFFieldの数を返します。このディレクトリが定義されている場合は親のTIFFTagを返し、それ以外の場合はnullを返します。getTag(int tagNumber) このディレクトリに関連付けられているTIFFTagSetにそのようなタグが存在しない場合は、tagNumberと等しいタグ番号を持つTIFFTagまたはnullを返します。このディレクトリが認識されているTIFFTagSetを返します。getTIFFField(int tagNumber) ディレクトリからTIFFフィールドを取得します。ディレクトリからすべてのTIFFフィールドを取得します。voidremoveTagSet(TIFFTagSet tagSet) このディレクトリが認識しているTIFFTagSetのグループから要素を削除します。voidremoveTIFFField(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
-
getTag
public TIFFTag getTag(int tagNumber) このディレクトリに関連付けられているTIFFTagSetにそのようなタグが存在しない場合は、tagNumberと等しいタグ番号を持つTIFFTagまたはnullを返します。- パラメータ:
tagNumber- 関心のあるタグ番号。- 戻り値:
- 対応する
TIFFTagまたはnull。
-
getNumTIFFFields
-
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- インスタンスをクローニングできない場合。- 関連項目:
-