Spec-Zone.ru › OpenJDK 21

Класс 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(). Сам этот экземпляр может быть создан при помощи конструктора или из объекта 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, необходимо обеспечить внешнюю синхронизацию.

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, 2023, 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://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/imageio/plugins/tiff/TIFFDirectory.html

Spec-Zone.ru

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