- 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に対応し、TIFFFieldのセットを含み、それぞれがIFDのIFDエントリに対応します。読取り時に、
ImageReader.getImageMetadata()から戻された値をcreateFromMetadata()に渡すことによって、TIFFDirectoryを作成できます。 ディレクトリ内のTIFFFieldは、このクラスで提供されるアクセッサ・メソッドを使用して取得できます。書込み時に、
ImageWriterのwrite()メソッドのいずれかによって使用される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のデータ・フィールドに含まれます。このデータ・フィールドは、ExifイメージのプライマリIFDに対応するTIFFDirectoryに含まれます。Exifイメージ自体には、null値の親タグがあります。この実装はsynchronizedされません。 複数のスレッドが
TIFFDirectoryインスタンスを同時に使用し、少なくとも1つのスレッドがディレクトリを変更する場合(たとえば、TIFFFieldまたは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イメージ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
-
-