Spec-Zone.ru › OpenJDK 21

Класс TIFFField

java.lang.Object
javax.imageio.plugins.tiff.TIFFField
Все реализованные интерфейсы:
Cloneable
public final class TIFFField extends Object implements Cloneable
Класс, представляющий поле в каталоге файлов изображения TIFF 6.0.

Поле в каталоге файлов изображения TIFF (IFD) определяется как номер тега, сопровождаемый последовательностью значений одинакового типа данных. TIFF 6.0 определяет 12 типов данных; 13-й тип IFD определен в технической заметке 1 TIFF, в дополнении 1 к спецификации TIFF. Эти типы данных TIFF представлены в Java константами и отображаются внутри на типы и имена типов данных Java следующим образом:

Сопоставление типа данных TIFF с типом данных Java
Тип данных TIFF Java константа Тип данных Java Имя типа Java
BYTE TIFFTag.TIFF_BYTE byte "Byte"
ASCII TIFFTag.TIFF_ASCII String "Ascii"
SHORT TIFFTag.TIFF_SHORT char "Short"
LONG TIFFTag.TIFF_LONG long "Long"
RATIONAL TIFFTag.TIFF_RATIONAL long[2] {числитель, знаменатель} "Rational"
SBYTE TIFFTag.TIFF_SBYTE byte "SByte"
UNDEFINED TIFFTag.TIFF_UNDEFINED byte "Undefined"
SSHORT TIFFTag.TIFF_SSHORT short "SShort"
SLONG TIFFTag.TIFF_SLONG int "SLong"
SRATIONAL TIFFTag.TIFF_SRATIONAL int[2] {числитель, знаменатель} "SRational"
FLOAT TIFFTag.TIFF_FLOAT float "Float"
DOUBLE TIFFTag.TIFF_DOUBLE double "Double"
IFD TIFFTag.TIFF_IFD_POINTER long "IFDPointer"
С:
9
См. также:
  • TIFFDirectory
  • TIFFTag
END_OF_DOCUMENT_MARKER

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

Конструктор Описание
TIFFField(TIFFTag tag, int type, int count)
Создаёт массив данных, используя createArrayForType(), и вызывает TIFFField(TIFFTag,int,int,Object) с предоставленными параметрами и созданным массивом.
TIFFField(TIFFTag tag, int type, int count, Object data)
Создаёт TIFFField с произвольными данными.
TIFFField(TIFFTag tag, int type, long offset, TIFFDirectory dir)
Создаёт TIFFField со смещением IFD и содержимым.
TIFFField(TIFFTag tag, long value)
Создаёт TIFFField с единственным неотрицательным целым значением.

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

Модификатор и тип Метод Описание
TIFFField clone()
Клонирует поле и всю содержащуюся в нём информацию.
static Object createArrayForType(int dataType, int count)
Создаёт массив, подходящий для указанного типа данных.
static TIFFField createFromMetadataNode(TIFFTagSet tagSet, Node node)
Создаёт TIFFField из узла метаданных изображения TIFF.
byte[] getAsBytes()
Возвращает данные как неинтерпретированный массив byte.
char[] getAsChars()
Возвращает TIFFTag.TIFF_SHORT данные как массив char (безусловные 16-битные целые числа).
double getAsDouble(int index)
Возвращает данные в любом формате как double.
double[] getAsDoubles()
Возвращает TIFFTag.TIFF_DOUBLE данные как массив double (64-битные числа с плавающей точкой).
float getAsFloat(int index)
Возвращает данные в любом формате как float.
float[] getAsFloats()
Возвращает TIFFTag.TIFF_FLOAT данные как массив float (32-битные числа с плавающей точкой).
int getAsInt(int index)
Возвращает данные в любом формате как int.
int[] getAsInts()
Возвращает TIFFTag.TIFF_SLONG данные как массив int (32-битные целые числа со знаком).
long getAsLong(int index)
Возвращает данные в любом формате как long.
long[] getAsLongs()
Возвращает TIFFTag.TIFF_LONG или TIFF_IFD_POINTER данные как массив long (64-битные целые числа со знаком).
Node getAsNativeNode()
Возвращает TIFFField как узел с именем "TIFFField" или "TIFFIFD", как описано в спецификации метаданных TIFF.
long[] getAsRational(int index)
Возвращает элемент данных TIFFTag.TIFF_RATIONAL как массив из двух целых чисел.
long[][] getAsRationals()
Возвращает TIFFTag.TIFF_RATIONAL данные как массив массивов из двух long.
short[] getAsShorts()
Возвращает TIFFTag.TIFF_SSHORT данные как массив short (16-битные целые числа со знаком).
int[] getAsSRational(int index)
Возвращает элемент данных TIFFTag.TIFF_SRATIONAL как массив из двух int.
int[][] getAsSRationals()
Возвращает TIFFTag.TIFF_SRATIONAL данные как массив массивов из двух int.
String getAsString(int index)
Возвращает значение TIFFTag.TIFF_ASCII как String.
int getCount()
Возвращает количество элементов данных, присутствующих в поле.
Object getData()
Возвращает ссылку на объект данных, связанный с полем.
TIFFDirectory getDirectory()
Возвращает связанное TIFFDirectory, если доступно.
TIFFTag getTag()
Извлекает тег, связанный с этим полем.
int getTagNumber()
Извлекает номер тега в диапазоне [0,65535].
int getType()
Возвращает тип данных, хранящихся в поле.
static int getTypeByName(String typeName)
Возвращает константу типа данных, соответствующую предоставленному имени типа данных.
static String getTypeName(int dataType)
Возвращает имя предоставленной константы типа данных.
String getValueAsString(int index)
Возвращает String, содержащую удобочитаемую версию элемента данных.
boolean hasDirectory()
Возвращает, имеет ли поле TIFFDirectory.
boolean isIntegral()
Указывает, является ли значение, связанное с полем, целого типа данных.

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

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

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

TIFFField

public TIFFField(TIFFTag tag, int type, int count, Object data)
Создаёт TIFFField с произвольными данными. Параметр type должен быть значением, для которого tag.isDataTypeOK() возвращает true. Параметр data должен быть массивом подходящего Java типа для типа поля TIFF.

Обратите внимание, что значение (данные) TIFFField всегда будут фактическим значением поля, независимо от количества байтов, необходимых для этого значения. Это имеет место, несмотря на то, что запись TIFF IFD Entry, соответствующая полю, может фактически содержать смещение к значению поля, а не само значение (последнее происходит только в том случае, если значение помещается в 4 байта). Другими словами, значение поля уже было считано из потока TIFF. (Исключение из этого случая может возникнуть, когда поле представляет собой содержимое не-базового IFD. В этом случае данные будут long[], содержащим смещение к IFD, и TIFFDirectory, возвращаемое getDirectory(), будет его содержимым.)

Параметры:
tag - Тег, который нужно ассоциировать с этим полем.
type - Одно из TIFFTag.TIFF_* констант, указывающих тип данных поля, как записанного в поток TIFF.
count - Количество значений данных.
data - Фактическое содержимое данных поля.
Исключения:
NullPointerException - если tag == null.
IllegalArgumentException - если type не является одной из TIFFTag.TIFF_* констант типа данных.
IllegalArgumentException - если type является неприемлемым типом данных для предоставленного TIFFTag.
IllegalArgumentException - если count < 0.
IllegalArgumentException - если count < 1 и type равно TIFF_RATIONAL или TIFF_SRATIONAL.
IllegalArgumentException - если count != 1 и type равно TIFF_IFD_POINTER.
NullPointerException - если data == null.
IllegalArgumentException - если data является экземпляром класса, несовместимого со заданным типом.
IllegalArgumentException - если размер массива данных неверный.
IllegalArgumentException - если тип массива данных TIFF_LONG, TIFF_RATIONAL, или TIFF_IFD_POINTER, и любое из элементов отрицательно или больше 0xffffffff.

TIFFField

public TIFFField(TIFFTag tag, int type, int count)
Создаёт массив данных, используя createArrayForType(), и вызывает TIFFField(TIFFTag,int,int,Object) с предоставленными параметрами и созданным массивом.
Параметры:
tag - Тег, который нужно ассоциировать с этим полем.
type - Одно из TIFFTag.TIFF_* констант, указывающих тип данных поля, как записанного в поток TIFF.
count - Количество значений данных.
Исключения:
NullPointerException - если tag == null.
IllegalArgumentException - если type не является одной из TIFFTag.TIFF_* констант типа данных.
IllegalArgumentException - если type является неприемлемым типом данных для предоставленного TIFFTag.
IllegalArgumentException - если count < 0.
IllegalArgumentException - если count < 1 и type равно TIFF_RATIONAL или TIFF_SRATIONAL.
IllegalArgumentException - если count != 1 и type равно TIFF_IFD_POINTER.
См. также:
  • TIFFField(TIFFTag,int,int,Object)

TIFFField

public TIFFField(TIFFTag tag, long value)
Создаёт TIFFField с единственным неотрицательным целочисленным значением. Поле будет иметь тип TIFF_SHORT, если value находится в [0,0xffff], и тип TIFF_LONG, если value находится в [0x10000,0xffffffff]. Количество элементов поля будет равно единице.
Параметры:
tag - Тег, который нужно ассоциировать с этим полем.
value - Значение, которое нужно ассоциировать с этим полем.
Исключения:
NullPointerException - если tag == null.
IllegalArgumentException - если value не находится в [0,0xffffffff].
IllegalArgumentException - если value находится в [0,0xffff] и TIFF_SHORT является неприемлемым типом для TIFFTag, или если value находится в [0x10000,0xffffffff] и TIFF_LONG является неприемлемым типом для TIFFTag.

TIFFField

public TIFFField(TIFFTag tag, int type, long offset, TIFFDirectory dir)
Создаёт TIFFField со смещением IFD и содержимым. Смещение будет храниться в качестве данных этого поля как long[] {offset}. Директория не будет клонирована. Количество элементов поля будет равно единице.
Параметры:
tag - Тег, который нужно ассоциировать с этим полем.
type - Одна из констант TIFFTag.TIFF_LONG или TIFFTag.TIFF_IFD_POINTER.
offset - Смещение IFD.
dir - Директория.
Исключения:
NullPointerException - если tag == null.
IllegalArgumentException - если type является неприемлемым типом данных для предоставленного TIFFTag.
IllegalArgumentException - если type не является ни TIFFTag.TIFF_LONG, ни TIFFTag.TIFF_IFD_POINTER.
IllegalArgumentException - если offset <= 0.
NullPointerException - если dir == null.
См. также:
  • TIFFField(TIFFTag,int,int,Object)

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

createFromMetadataNode

public static TIFFField createFromMetadataNode(TIFFTagSet tagSet, Node node)
Создаёт TIFFField из узла метаданных TIFF изображения. Если значение атрибута "number" узла не найдено в tagSet, то будет создан новый TIFFTag с именем TIFFTag.UNKNOWN_TAG_NAME и назначен полю.
Параметры:
tagSet - TIFFTagSet к которому относится TIFFTag поля.
node - Узел метаданных исходного изображения TIFF.
Возвращает:
Новый TIFFField.
Исключения:
IllegalArgumentException - Если содержимое параметра Node не соответствует структуре элемента TIFFField, определённой в спецификации формата метаданных исходного изображения TIFF, или если комбинация атрибутов узла и данных не является допустимой согласно спецификации конструктора TIFFField(TIFFTag,int,int,Object). Обратите внимание, что причина может быть установлена в таком исключении.

getTag

public TIFFTag getTag()
Возвращает тег, связанный с этим полем.
Возвращает:
Связанный TIFFTag.

getTagNumber

public int getTagNumber()
Возвращает номер тега в диапазоне [0,65535].
Возвращает:
Номер тега.

getType

public int getType()
Возвращает тип данных, хранящихся в поле. Для потока TIFF 6.0 значение будет равно одной из TIFFTag.TIFF_* констант. Для будущих ревизий TIFF возможны более высокие значения.
Возвращает:
Тип данных значения поля.

getTypeName

public static String getTypeName(int dataType)
Возвращает имя предоставленной константы типа данных.
Параметры:
dataType - Одна из TIFFTag.TIFF_* констант, указывающих тип данных поля, как записанного в поток TIFF.
Возвращает:
Имя типа, соответствующее предоставленной константе типа.
Исключения:
IllegalArgumentException - если dataType не является одной из TIFFTag.TIFF_* констант типа данных.

getTypeByName

public static int getTypeByName(String typeName)
Возвращает константу типа данных, соответствующую предоставленному имени типа данных. Если имя неизвестно, будет возвращено -1.
Параметры:
typeName - Имя типа.
Возвращает:
Одна из TIFFTag.TIFF_* констант или -1, если имя не распознано.

createArrayForType

public static Object createArrayForType(int dataType, int count)
Создаёт массив, соответствующий указанному типу данных.
Параметры:
dataType - Один из TIFFTag.TIFF_* констант типов данных.
count - Количество значений в массиве.
Возвращает:
Массив, соответствующий указанному типу данных.
Исключения:
IllegalArgumentException - если dataType не является одной из TIFFTag.TIFF_* констант типов данных.
IllegalArgumentException - если count < 0.
IllegalArgumentException - если count < 1 и type равно TIFF_RATIONAL или TIFF_SRATIONAL.
IllegalArgumentException - если count != 1 и type равно TIFF_IFD_POINTER.

getAsNativeNode

public Node getAsNativeNode()
Возвращает TIFFField в виде узла с именем "TIFFField" или "TIFFIFD", как описано в спецификации метаданных TIFF-изображения. Узел будет назван "TIFFIFD", если и только если hasDirectory() возвращает true и тип поля равен либо TIFFTag.TIFF_LONG, либо TIFFTag.TIFF_IFD_POINTER.
Возвращает:
узел Node с именем "TIFFField" или "TIFFIFD".

isIntegral

public boolean isIntegral()
Указывает, является ли значение, связанное с полем, целого типа данных.
Возвращает:
Является ли тип поля целым.

getCount

public int getCount()
Возвращает количество элементов данных, присутствующих в поле. Для TIFFTag.TIFF_ASCII полей возвращаемое значение представляет собой количество String , а не общую длину данных в представлении файла.
Возвращает:
Количество элементов данных, присутствующих в поле.

getData

public Object getData()
Возвращает ссылку на объект данных, связанный с полем.
Возвращает:
Объект данных поля.

getAsBytes

public byte[] getAsBytes()
Возвращает данные как неинтерпретированный массив byte . Тип поля должен быть одним из TIFFTag.TIFF_BYTE, TIFF_SBYTE, или TIFF_UNDEFINED.

Для данных в формате TIFFTag.TIFF_BYTE приложение должно позаботиться о продвижении данных к более длинным целочисленным типам, чтобы избежать расширения знака.

Возвращает:
Данные как неинтерпретированный массив байтов.
Исключения:
ClassCastException - если поле не имеет типа TIFF_BYTE, TIFF_SBYTE, или TIFF_UNDEFINED.

getAsChars

public char[] getAsChars()
Возвращает TIFFTag.TIFF_SHORT данные как массив char (незнаковых 16-битных целых чисел).
Возвращает:
Данные как массив char.
Исключения:
ClassCastException - если поле не имеет типа TIFF_SHORT.

getAsShorts

public short[] getAsShorts()
Возвращает TIFFTag.TIFF_SSHORT данные как массив short (знаковых 16-битных целых чисел).
Возвращает:
Данные как массив short.
Исключения:
ClassCastException - если поле не имеет типа TIFF_SSHORT.

getAsInts

public int[] getAsInts()
Возвращает TIFFTag.TIFF_SLONG данные как массив int (знаковых 32-битных целых чисел).
Возвращает:
Данные как массив int.
Исключения:
ClassCastException - если поле не имеет типа TIFF_SHORT, TIFF_SSHORT, или TIFF_SLONG.

getAsLongs

public long[] getAsLongs()
Возвращает TIFFTag.TIFF_LONG или TIFF_IFD_POINTER данные как массив long (знаковых 64-битных целых чисел).
Возвращает:
Данные как массив long.
Исключения:
ClassCastException - если поле не имеет типа TIFF_LONG или TIFF_IFD_POINTER.

getAsFloats

public float[] getAsFloats()
Возвращает TIFFTag.TIFF_FLOAT данные как массив float (32-битные значения с плавающей точкой).
Возвращает:
Данные как массив float.
Исключения:
ClassCastException - если поле не имеет типа TIFF_FLOAT.

getAsDoubles

public double[] getAsDoubles()
Возвращает TIFFTag.TIFF_DOUBLE данные как массив double (64-битные значения с плавающей точкой).
Возвращает:
Данные как массив double.
Исключения:
ClassCastException - если поле не имеет типа TIFF_DOUBLE.

getAsSRationals

public int[][] getAsSRationals()
Возвращает TIFFTag.TIFF_SRATIONAL данные как массив 2-элементных массивов int.
Возвращает:
Данные как массив знаковых рациональных чисел.
Исключения:
ClassCastException - если поле не имеет типа TIFF_SRATIONAL.

getAsRationals

public long[][] getAsRationals()
Возвращает TIFFTag.TIFF_RATIONAL данные как массив 2-элементных массивов long.
Возвращает:
Данные как массив беззнаковых рациональных чисел.
Исключения:
ClassCastException - если поле не имеет типа TIFF_RATIONAL.

getAsInt

public int getAsInt(int index)
Возвращает данные в любом формате как int.

TIFFTag.TIFF_BYTE значения обрабатываются как беззнаковые; то есть, расширение знака не происходит, и возвращаемое значение будет в диапазоне [0, 255]. TIFF_SBYTE данные будут возвращены в диапазоне [-128, 127].

TIFF_UNDEFINED значение обрабатывается так, как будто это TIFF_BYTE.

Данные в TIFF_SLONG, TIFF_LONG, TIFF_FLOAT, TIFF_DOUBLE или TIFF_IFD_POINTER формате просто преобразуются в int и могут подвергаться усечению.

Данные в TIFF_SRATIONAL или TIFF_RATIONAL формате вычисляются путём деления числителя на знаменатель с использованием арифметики двойной точности, а затем преобразования в int. Возможно потеря точности и усечение.

Данные в TIFF_ASCII формате будут анализироваться методом Double.parseDouble, а результат преобразуется в int.

Параметры:
index - Индекс данных.
Возвращает:
Данные по данному индексу как int.

getAsLong

public long getAsLong(int index)
Возвращает данные в любом формате как long.

TIFFTag.TIFF_BYTE и TIFF_UNDEFINED данные обрабатываются как беззнаковые; то есть, расширение знака не происходит, и возвращаемое значение будет в диапазоне [0, 255]. TIFF_SBYTE данные будут возвращены в диапазоне [-128, 127].

Данные в TIFF_FLOAT и TIFF_DOUBLE просто преобразуются в long и могут подвергаться усечению.

Данные в TIFF_SRATIONAL или TIFF_RATIONAL формате вычисляются путём деления числителя на знаменатель с использованием арифметики двойной точности, а затем преобразования в long. Возможно потеря точности и усечение.

Данные в TIFF_ASCII формате будут анализироваться методом Double.parseDouble, а результат преобразуется в long.

Параметры:
index - Индекс данных.
Возвращает:
Данные по данному индексу как long.

getAsFloat

public float getAsFloat(int index)
Возвращает данные в любом формате как float.

TIFFTag.TIFF_BYTE и TIFF_UNDEFINED данные обрабатываются как беззнаковые; то есть, расширение знака не происходит, и возвращаемое значение будет в диапазоне [0, 255]. TIFF_SBYTE данные будут возвращены в диапазоне [-128, 127].

Данные в TIFF_SLONG, TIFF_LONG, TIFF_DOUBLE, или TIFF_IFD_POINTER формате просто преобразуются в float и могут подвергаться усечению.

Данные в TIFF_SRATIONAL или TIFF_RATIONAL формате вычисляются путём деления числителя на знаменатель с использованием арифметики двойной точности, а затем преобразования в float.

Данные в TIFF_ASCII формате будут анализироваться методом Double.parseDouble, а результат преобразуется в float.

Параметры:
index - Индекс данных.
Возвращает:
Данные по данному индексу как float.
END_OF_DOCUMENT_MARKER

getAsDouble

public double getAsDouble(int index)
Возвращает данные в любом формате как double.

Данные форматов TIFFTag.TIFF_BYTE и TIFF_UNDEFINED обрабатываются как беззнаковые; то есть, расширение знака не выполняется, и возвращаемое значение будет в диапазоне [0, 255]. TIFF_SBYTE данные будут возвращены в диапазоне [-128, 127].

Данные в формате TIFF_SRATIONAL или TIFF_RATIONAL вычисляются путём деления числителя на знаменатель с использованием арифметики двойной точности.

Данные в формате TIFF_ASCII будут обработаны методом Double.parseDouble.

Parameters:
index - Индекс данных.
Returns:
Данные по указанному индексу как double.

getAsString

public String getAsString(int index)
Возвращает значение TIFFTag.TIFF_ASCII как String.
Parameters:
index - Индекс данных.
Returns:
Данные по указанному индексу как String.
Throws:
ClassCastException - если поле не является типом TIFF_ASCII.

getAsSRational

public int[] getAsSRational(int index)
Возвращает элемент данных TIFFTag.TIFF_SRATIONAL как массив из двух элементов int.
Parameters:
index - Индекс данных.
Returns:
Данные по указанному индексу как рациональное число со знаком.
Throws:
ClassCastException - если поле не является типом TIFF_SRATIONAL.

getAsRational

public long[] getAsRational(int index)
Возвращает элемент данных TIFFTag.TIFF_RATIONAL как массив из двух элементов целых чисел.
Parameters:
index - Индекс данных.
Returns:
Данные по указанному индексу как беззнаковое рациональное число.
Throws:
ClassCastException - если поле не является типом TIFF_RATIONAL.

getValueAsString

public String getValueAsString(int index)
Возвращает String, содержащий удобочитаемый вариант элемента данных. Данные типа TIFFTag.TIFF_RATIONAL или TIFF_SRATIONAL представлены как пара целых чисел, разделённых символом '/'. Если числитель TIFFTag.TIFF_RATIONAL или TIFF_SRATIONAL является целым кратным знаменателю, то значение представляется как "q/1", где q — частное числителя и знаменателя.
Parameters:
index - Индекс данных.
Returns:
Данные по указанному индексу как String.
Throws:
ClassCastException - если поле не является одним из допустимых типов полей.

hasDirectory

public boolean hasDirectory()
Возвращает, содержит ли поле TIFFDirectory.
Returns:
true, если и только если getDirectory() возвращает не null.

getDirectory

public TIFFDirectory getDirectory()
Возвращает ассоциированный TIFFDirectory, если доступен. Если каталог не задан, то возвращается null.
Returns:
экземпляр TIFFDirectory или null.

clone

public TIFFField clone() throws CloneNotSupportedException
Создаёт копию поля и всей содержащейся в нём информации.
Overrides:
clone в классе Object
Returns:
Копия этого TIFFField.
Throws:
CloneNotSupportedException - если экземпляр нельзя скопировать.
See Also:
  • 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/TIFFField.html

Spec-Zone.ru

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