- すべての実装されたインタフェース:
Cloneable
public class TIFFDirectory extends Object implements Cloneable
TIFFDirectoryインスタンスはIFDに対応し、それぞれがIFD内のIFDエントリに対応する一連のTIFFFieldを含みます。
読み込み時に、TIFFDirectoryは、ImageReader.getImageMetadata()によって返された値をcreateFromMetadata()に渡すことによって作成されます。 ディレクトリ内のTIFFFieldは、このクラスで提供されているアクセサ・メソッドを使用して取得できます。
書き込み時には、ImageWriterのwrite()メソッドの1つで使用するIIOMetadataオブジェクトをgetAsMetadata()のTIFFDirectoryから作成することができます。 TIFFDirectory自体は、構築によって、またはImageWriter.getDefaultImageMetadata()によって返されるIIOMetadataオブジェクトから作成されます。 ディレクトリ内のTIFFFieldは、このクラスで提供されるmutatorメソッドを使用して設定できます。
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のデータ・フィールドに含まれ、これは、それ自体、nullで評価された親タグを有するExifイメージのプライマリIFDに対応するTIFFDirectoryに含まれます。
この実装はsynchronizedされません。 複数のスレッドが同時にTIFFDirectoryインスタンスを使用し、少なくとも1つのスレッドがディレクトリを変更する場合、たとえばTIFFField sまたはTIFFTagSetを追加または削除することによって、スレッドを外部で同期化する必要があります。
- 導入されたバージョン:
- 9
- 関連項目:
IIOMetadata,TIFFField,TIFFTag,TIFFTagSet
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag)指定されたグループのTIFFTagSetを認識しているTIFFDirectoryを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 voidaddTagSet(TIFFTagSet tagSet)このディレクトリが認識しているTIFFTagSetのグループに要素を追加します。voidaddTIFFField(TIFFField f)ディレクトリにTIFFフィールドを追加します。TIFFDirectoryclone()ディレクトリとそこに含まれるすべてのフィールドをクローンします。booleancontainsTIFFField(int tagNumber)指定されたタグ番号を持つTIFFフィールドがこのディレクトリに含まれているかどうかを判定します。static TIFFDirectorycreateFromMetadata(IIOMetadata tiffImageMetadata)イメージ・メタデータ・オブジェクトの内容からTIFFDirectoryインスタンスを作成します。IIOMetadatagetAsMetadata()ディレクトリをメタデータ・オブジェクトに変換します。intgetNumTIFFFields()このディレクトリ内のTIFFFieldの数を返します。TIFFTaggetParentTag()このディレクトリの親TIFFTagが定義されている場合はそれを返します。それ以外の場合はnullを返します。TIFFTaggetTag(int tagNumber)このディレクトリに関連付けられたTIFFTagSetにそのようなタグが存在しない場合は、tagNumberまたはnullに等しいタグ番号を持つTIFFTagを返します。TIFFTagSet[]getTagSets()このディレクトリが認識しているTIFFTagSetを返します。TIFFFieldgetTIFFField(int tagNumber)ディレクトリからTIFFフィールドを取得します。TIFFField[]getTIFFFields()ディレクトリからすべてのTIFFフィールドを取得します。voidremoveTagSet(TIFFTagSet tagSet)このディレクトリが認識しているTIFFTagSetのグループから要素を削除します。voidremoveTIFFField(int tagNumber)ディレクトリからTIFFフィールドを削除します。voidremoveTIFFFields()ディレクトリからすべての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またはnullに等しいタグ番号を持つTIFFTagを返します。- パラメータ:
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- インスタンスをクローン化できない場合。- 関連項目:
Cloneable
-