Spec-Zone.ru › OpenJDK 24

Класс TIFFDirectory

java.lang.Object
javax.imageio.plugins.tiff.TIFFDirectory
Все реализуемые интерфейсы:
Cloneable
public class TIFFDirectory extends Object implements Cloneable
Класс-обёртка для упрощения взаимодействия с нативными метаданными изображений TIFF. Дерево метаданных изображения TIFF представляет собой каталог файла изображения (IFD) из потока TIFF 6.0. IFD состоит из ряда записей IFD, каждая из которых связывает идентификационный номер тега со соответствующим значением. Экземпляр класса 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, соответствующий каталогу Exif в потоке Exif, будет иметь родительский тег TAG_EXIF_IFD_POINTER и включать в себя ExifTIFFTagSet в своей группе известных наборов тегов. Экземпляр класса TIFFDirectory, соответствующий этому каталогу Exif, будет содержаться в поле данных экземпляра класса TIFFField, который в свою очередь будет содержаться в TIFFDirectory, соответствующем основному каталогу изображения Exif, который сам по себе будет иметь родительский тег со значением null.

Обратите внимание, что данная реализация не синхронизирована. Если несколько потоков одновременно используют экземпляр класса TIFFDirectory, и по крайней мере один из потоков изменяет каталог, например, добавляя или удаляя TIFFField или TIFFTagSet, необходимо обеспечить внешнюю синхронизацию.

Since:
9
См. также:
  • IIOMetadata
  • TIFFField
  • TIFFTag
  • TIFFTagSet

Краткое описание конструкторов

Конструктор Описание
TIFFDirectory(TIFFTagSet[] tagSets, TIFFTag parentTag)
Создаёт экземпляр класса TIFFDirectory, который знает заданную группу TIFFTagSet.

Краткое описание методов

Модификатор и тип Метод Описание
void addTagSet(TIFFTagSet tagSet)
Добавляет элемент в группу TIFFTagSet, о которых знает этот каталог.
void addTIFFField(TIFFField f)
Добавляет поле TIFF в каталог.
TIFFDirectory clone()
Создаёт копию каталога и всех содержащихся в нём полей.
boolean containsTIFFField(int tagNumber)
Определяет, содержится ли в этом каталоге поле TIFF с заданным номером тега.
static TIFFDirectory createFromMetadata(IIOMetadata tiffImageMetadata)
Создаёт экземпляр класса TIFFDirectory на основе содержимого объекта метаданных изображения.
IIOMetadata getAsMetadata()
Преобразует каталог в объект метаданных.
int getNumTIFFFields()
Возвращает количество TIFFField в этом каталоге.
TIFFTag getParentTag()
Возвращает родительский TIFFTag этого каталога, если он определён, или null в противном случае.
TIFFTag getTag(int tagNumber)
Возвращает TIFFTag с номером тега равным tagNumber или null, если такого тега нет в TIFFTagSet связанных с этим каталогом.
TIFFTagSet[] getTagSets()
Возвращает TIFFTagSet, о которых знает этот каталог.
TIFFField getTIFFField(int tagNumber)
Возвращает поле TIFF из каталога.
TIFFField[] getTIFFFields()
Возвращает все поля TIFF из каталога.
void removeTagSet(TIFFTagSet tagSet)
Удаляет элемент из группы TIFFTagSet, о которых знает этот каталог.
void removeTIFFField(int tagNumber)
Удаляет поле TIFF из каталога.
void removeTIFFFields()
Удаляет все поля TIFF из каталога.

Методы, унаследованные от класса java.lang.Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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)
Определяет, содержит ли этот каталог поле TIFF с заданным номером тега.
Параметры:
tagNumber - Номер тега.
Возвращает:
Присутствует ли TIFFTag с номером тега, равным tagNumber, в этом TIFFDirectory.

addTIFFField

public void addTIFFField(TIFFField f)
Добавляет поле TIFF в каталог.
Параметры:
f - Поле для добавления.
Исключения:
NullPointerException - если f является null.

getTIFFField

public TIFFField getTIFFField(int tagNumber)
Извлекает поле TIFF из каталога.
Параметры:
tagNumber - Номер тега, связанного с полем.
Возвращает:
TIFFField с запрошенным номером тега null, если такое поле отсутствует.

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

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/imageio/plugins/tiff/TIFFDirectory.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API