Класс TIFFDirectory
- Все реализуемые интерфейсы:
Cloneable
public class TIFFDirectory extends Object implements Cloneable
TIFFDirectory соответствует IFD и содержит набор TIFFField, каждый из которых соответствует записи IFD в IFD. При чтении TIFFDirectory можно создать, передав значение, возвращённое методом ImageReader.getImageMetadata(), методу createFromMetadata(). Затем TIFFField в каталоге можно получить с помощью методов доступа, предоставляемых этим классом.
При записи объект IIOMetadata для использования одним из методов write() класса ImageWriter можно создать из TIFFDirectory с помощью метода getAsMetadata(). Сам TIFFDirectory можно создать конструктором или на основе объекта IIOMetadata, возвращённого методом ImageWriter.getDefaultImageMetadata(). TIFFField в каталоге можно задавать с помощью методов-мутаторов, предоставляемых этим классом.
Объект TIFFDirectory знает номера тегов в группе связанных с ним TIFFTagSet. При создании TIFFDirectory из объекта собственных метаданных изображения эти наборы тегов определяются атрибутом tagSets узла TIFFIFD.
У объекта TIFFDirectory также может быть родительский TIFFTag. Это происходит, если каталог представляет IFD, отличный от корневого IFD изображения. Родительский тег — это тег записи IFD, указывающей на IFD, представленный данным TIFFDirectory. Метод TIFFTag.isIFDPointer() этого родительского TIFFTag должен возвращать true. При создании TIFFDirectory из объекта собственных метаданных изображения родительский набор тегов задаётся атрибутом parentTagName соответствующего узла TIFFIFD. Обратите внимание, что экземпляр TIFFDirectory с родительским тегом, отличным от null, будет содержаться в поле данных экземпляра TIFFField, поле тега которого равно родительскому тегу содержащегося в нём каталога.
Рассмотрим, например, изображение Exif. Экземпляр TIFFDirectory, соответствующий IFD Exif в потоке Exif, будет иметь родительский тег TAG_EXIF_IFD_POINTER и включать ExifTIFFTagSet в группу известных ему наборов тегов. Объект TIFFDirectory, соответствующий этому IFD Exif, будет содержаться в поле данных объекта TIFFField, который, в свою очередь, будет содержаться в объекте TIFFDirectory, соответствующем основному IFD изображения Exif; у последнего родительский тег будет иметь значение null.
Обратите внимание, что эта реализация не синхронизирована. Если несколько потоков одновременно используют экземпляр TIFFDirectory и хотя бы один из потоков изменяет каталог, например добавляет или удаляет TIFFField или TIFFTagSet, доступ к нему необходимо синхронизировать извне.
- Начиная с версии:
- 9
- См. также:
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TIFFDirectory |
Создаёт TIFFDirectory, распознающий заданную группу TIFFTagSet. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addTagSet |
Добавляет элемент в группу TIFFTagSet, известную этому каталогу. |
void |
addTIFFField |
Добавляет поле TIFF в каталог. |
TIFFDirectory |
clone() |
Клонирует каталог и все содержащиеся в нём поля. |
boolean |
containsTIFFField |
Определяет, содержится ли в этом каталоге поле TIFF с заданным номером тега. |
static TIFFDirectory |
createFromMetadata |
Создаёт экземпляр TIFFDirectory из содержимого объекта метаданных изображения. |
IIOMetadata |
getAsMetadata() |
Преобразует каталог в объект метаданных. |
int |
getNumTIFFFields() |
Возвращает количество TIFFField в этом каталоге. |
TIFFTag |
getParentTag() |
Возвращает родительский TIFFTag этого каталога, если он задан, или null в противном случае. |
TIFFTag |
getTag |
Возвращает TIFFTag с номером тега, равным tagNumber, или null, если такой тег отсутствует в связанных с этим каталогом TIFFTagSet. |
TIFFTagSet[] |
getTagSets() |
Возвращает TIFFTagSet, известные этому каталогу. |
TIFFField |
getTIFFField |
Извлекает поле TIFF из каталога. |
TIFFField[] |
getTIFFFields() |
Извлекает все поля TIFF из каталога. |
void |
removeTagSet |
Удаляет элемент из группы TIFFTagSet, известной этому каталогу. |
void |
removeTIFFField |
Удаляет поле TIFF из каталога. |
void |
removeTIFFFields() |
Удаляет все поля TIFF из каталога. |
Методы, объявленные в классе Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equals |
Показывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Метод finalize устарел и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или прерывания, либо истечения заданного промежутка реального времени. |
Подробное описание конструкторов
TIFFDirectory
public TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag)
TIFFDirectory, распознающий заданную группу TIFFTagSet. Также можно указать необязательный родительский TIFFTag.- Параметры:
-
tagSets—TIFFTagSets, связанный с этим каталогом. -
parentTag— родительскийTIFFTagэтого каталога; может быть равенnull. - Исключения:
-
NullPointerException— еслиtagSetsравенnull.
Подробное описание методов
createFromMetadata
public static TIFFDirectory createFromMetadata(IIOMetadata tiffImageMetadata) throws IIOInvalidTreeException
TIFFDirectory из содержимого объекта метаданных изображения. Переданный объект должен поддерживать формат метаданных изображения, поддерживаемый подключаемым модулем TIFF ImageWriter. Обычно это либо собственный формат метаданных изображения 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, известные этому каталогу.- Возвращает:
TIFFTagSet, связанные с этимTIFFDirectory.
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 в противном случае.- Возвращает:
- Родительский
TIFFTagэтогоTIFFDiectoryилиnull.
getTag
public TIFFTag getTag(int tagNumber)
TIFFTag с номером тега, равным tagNumber, или null, если такой тег отсутствует в связанных с этим каталогом TIFFTagSet.- Параметры:
-
tagNumber— интересующий номер тега. - Возвращает:
- Соответствующий
TIFFTagилиnull.
getNumTIFFFields
public int getNumTIFFFields()
TIFFField в этом каталоге.- Возвращает:
- Количество
TIFFFieldв этомTIFFDirectory.
containsTIFFField
public boolean containsTIFFField(int tagNumber)
- Параметры:
-
tagNumber— номер тега. - Возвращает:
- Наличие в этом
TIFFDirectoryобъектаTIFFTagс номером тега, равнымtagNumber.
addTIFFField
public void addTIFFField(TIFFField f)
- Параметры:
-
f— поле, которое необходимо добавить. - Исключения:
-
NullPointerException— еслиfравенnull.
getTIFFField
public TIFFField getTIFFField(int tagNumber)
- Параметры:
-
tagNumber— номер тега, связанного с полем. - Возвращает:
- Объект
TIFFFieldс запрошенным номером тега илиnull, если такого поля нет.
removeTIFFField
public void removeTIFFField(int tagNumber)
- Параметры:
-
tagNumber— номер тега, связанного с полем.
getTIFFFields
public TIFFField[] getTIFFFields()
- Возвращает:
- Массив всех полей TIFF, упорядоченных по возрастанию номеров тегов.
removeTIFFFields
public void removeTIFFFields()
getAsMetadata
public IIOMetadata getAsMetadata()
- Возвращает:
- Экземпляр метаданных, инициализированный содержимым этого
TIFFDirectory.
clone
public TIFFDirectory clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеObject - Возвращает:
- Клон этого
TIFFDirectory. - Исключения:
-
CloneNotSupportedException— если экземпляр невозможно клонировать. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.