Spec-Zone.ru › OpenJDK 17

Класс 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 , соответствующий IFD Exif в потоке Exif, будет иметь родительский тег TAG_EXIF_IFD_POINTER и будет включать ExifTIFFTagSet в своей группе известных наборов тегов. Экземпляр TIFFDirectory , соответствующий этому IFD Exif, будет содержаться в поле данных экземпляра TIFFField, который в свою очередь будет содержаться в TIFFDirectory, соответствующем основному IFD изображения Exif, который сам будет иметь родительский тег со значением null.

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

С момента:
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 plug-in. Обычно это либо собственный формат метаданных изображения 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, 2021, 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/17/docs/api/java.desktop/javax/imageio/plugins/tiff/TIFFDirectory.html

Spec-Zone.ru

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