java.lang.Object
javax.imageio.plugins.tiff.TIFFTag
一个定义了TIFF标签概念的类。TIFF标签是可能出现在图像文件目录(IFD)中的键。在IFD中,每个标签都有一些与之关联的数据,这些数据可能由给定数据类型的零个或多个值组成。标签和值的组合称为IFD条目或TIFF字段。
标准(“基线”)tiff流的根IFD中使用的实际标签值在BaselineTIFFTagSet
类中定义。
- 自:
- 9
- 另请参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
代表TIFF数据类型的数值上最大的常量。static final int
代表TIFF数据类型的数值上最小的常量。static final int
用于空终止ASCII字符串的标志。static final int
用于8位无符号整数的标志。static final int
用于64位IEEE双精度浮点数的标志。static final int
用于32位IEEE单精度浮点数的标志。static final int
用于在TIFF规范补充1中定义的IFD指针。static final int
用于32位无符号整数的标志。static final int
用于32位无符号整数对的标志。static final int
用于8位有符号整数的标志。static final int
用于16位无符号整数的标志。static final int
用于32位有符号整数的标志。static final int
用于32位有符号整数对的标志。static final int
用于16位有符号整数的标志。static final int
用于8位未解释字节的标志。static final String
为具有未知标签号的标签分配的名称。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
addValueName
(int value, String name) 为此标签的数据可能采用的特定值添加一个助记符名称。int
getCount()
返回此标签的值计数。int
返回一个位掩码,指示可用于存储与标签关联的数据的数据类型集。getName()
返回标签的名称,如其将出现在图像元数据中。int[]
返回定义了助记符名称的值数组。int
返回用于表示该标签的整数。static int
getSizeOfType
(int dataType) 返回用于存储给定数据类型的值所使用的字节数。返回此标签所属的TIFFTagSet
。getValueName
(int value) 返回与此标签的数据可能采用的特定值关联的助记符名称,如果没有名称则返回null
。boolean
如果与此标签的数据的合法值集关联有助记符名称,则返回true
。boolean
isDataTypeOK
(int dataType) 如果给定的数据类型可用于与此标签关联的数据,则返回true
。boolean
如果此标签用于指向包含附加标签的IFD结构,则返回true
。
-
Field Details
-
TIFF_BYTE
public static final int TIFF_BYTE用于8位无符号整数的标志。- 另请参见:
-
TIFF_ASCII
public static final int TIFF_ASCII用于空终止ASCII字符串的标志。- 另请参见:
-
TIFF_SHORT
public static final int TIFF_SHORT用于16位无符号整数的标志。- 另请参见:
-
TIFF_LONG
public static final int TIFF_LONG用于32位无符号整数的标志。- 另请参见:
-
TIFF_RATIONAL
public static final int TIFF_RATIONAL用于32位无符号整数对的标志。- 另请参见:
-
TIFF_SBYTE
public static final int TIFF_SBYTE用于8位有符号整数的标志。- 另请参见:
-
TIFF_UNDEFINED
public static final int TIFF_UNDEFINED用于8位未解释字节的标志。- 另请参见:
-
TIFF_SSHORT
public static final int TIFF_SSHORT用于16位有符号整数的标志。- 另请参见:
-
TIFF_SLONG
public static final int TIFF_SLONG用于32位有符号整数的标志。- 另请参见:
-
TIFF_SRATIONAL
public static final int TIFF_SRATIONAL用于32位有符号整数对的标志。- 另请参见:
-
TIFF_FLOAT
public static final int TIFF_FLOAT用于32位IEEE单精度浮点数的标志。- 另请参见:
-
TIFF_DOUBLE
public static final int TIFF_DOUBLE用于64位IEEE双精度浮点数的标志。- 另请参见:
-
TIFF_IFD_POINTER
public static final int TIFF_IFD_POINTER用于在TIFF规范补充1中定义的IFD指针的标志。- 另请参见:
-
MIN_DATATYPE
public static final int MIN_DATATYPE代表TIFF数据类型的数值上最小的常量。- 另请参见:
-
MAX_DATATYPE
public static final int MAX_DATATYPE代表TIFF数据类型的数值上最大的常量。- 另请参见:
-
UNKNOWN_TAG_NAME
为具有未知标签号的标签分配的名称。例如,当读取IFD时遇到一个不在读取器已知的任何TIFFTagSet
中的标签号时,可能会创建这样一个标签。- 另请参见:
-
-
Constructor Details
-
TIFFTag
使用给定名称、标签号、合法数据类型集和值计数构造一个TIFFTag
。负值计数表示合法值的数量可以是任意的,或者所需计数由IFD中的其他字段的值确定。非负计数指定与关联字段必须包含的值的数量。该标签将不会有关联的TIFFTagSet
。如果要为标签的合法数据值关联助记符名称,应在新实例上为每个名称调用
addValueName()
。助记符名称仅适用于具有整数数据类型的标签。有关如何将数据类型集转换为位掩码的说明,请参阅
getDataTypes()
的文档。- 参数:
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
dataTypes
- 指示此标签的合法数据类型集的位掩码。 -
count
- 此标签的值计数。 - 抛出:
-
NullPointerException
- 如果名称为null。 -
IllegalArgumentException
- 如果数字为负数或数据类型为负数或指定了超出范围的类型。
-
TIFFTag
使用给定名称、标签号和引用的TIFFTagSet
构造一个TIFFTag
。合法数据类型设置为包括TIFF_LONG
和TIFF_IFD_POINTER
,值计数为1。TIFFTagSet
将表示指向的IFD中出现的TIFFTag
集合。如果且仅当tagSet
为非null
或数据类型TIFF_IFD_POINTER
为合法时,TIFFTag
表示IFD指针。- 参数:
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
tagSet
- 此标签所属的TIFFTagSet
。 - 抛出:
-
NullPointerException
- 如果名称或tagSet为null。 -
IllegalArgumentException
- 如果数字为负数。 - 参见:
-
TIFFTag
构造具有给定名称、标签号和合法数据类型集的TIFFTag
。此标签的值计数将未定义,并且它将没有关联的TIFFTagSet
。- 参数:
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
dataTypes
- 指示此标签的合法数据类型集的位掩码。 - 抛出:
-
NullPointerException
- 如果名称为null。 -
IllegalArgumentException
- 如果数字为负数或dataTypes为负数或指定了超出范围的类型。 - 参见:
-
-
Method Details
-
getSizeOfType
public static int getSizeOfType(int dataType) 返回用于存储给定数据类型值所需的字节数。- 参数:
-
dataType
- 要查询的数据类型。 - 返回:
- 用于存储给定数据类型的字节数。
- 抛出:
-
IllegalArgumentException
- 如果datatype
小于MIN_DATATYPE
或大于MAX_DATATYPE
。
-
getName
返回标签的名称,如其在图像元数据中显示的名称。- 返回:
-
标签名称,作为一个
String
。
-
getNumber
public int getNumber()返回用于表示标签的整数。- 返回:
-
标签号,作为一个
int
。
-
getDataTypes
public int getDataTypes()返回一个位掩码,指示可用于存储与标签关联的数据的数据类型集。例如,一个可以存储SHORT和LONG值的标签将返回一个值:(1 << TIFFTag.TIFF_SHORT) | (1 << TIFFTag.TIFF_LONG)
- 返回:
-
包含编码为有效数据类型集的位掩码的
int
。
-
getCount
public int getCount()返回此标签的值计数。如果此值为正数,则表示具有此标签的TIFFField
所需的值数量。如果值为负数,则计数未定义。在后一种情况下,计数可以派生,例如,BitsPerSample
字段的值数量为SamplesPerPixel
,或者可能是可变的,如大多数US-ASCII
字段的情况。- 返回:
- 此标签的值计数。
-
isDataTypeOK
public boolean isDataTypeOK(int dataType) 如果给定的数据类型可以用于与此标签关联的数据,则返回true
。- 参数:
-
dataType
- 要查询的数据类型,其中之一为TIFF_BYTE
、TIFF_SHORT
等。 - 返回:
-
一个指示给定数据类型是否可以与此标签一起使用的
boolean
。 - 抛出:
-
IllegalArgumentException
- 如果datatype
小于MIN_DATATYPE
或大于MAX_DATATYPE
。
-
getTagSet
返回此标签所属的TIFFTagSet
。- 返回:
-
包含的
TIFFTagSet
。
-
isIFDPointer
public boolean isIFDPointer()如果此标签用于指向包含附加标签的IFD结构,则返回true
。仅当其TIFFTagSet
为非null
或数据类型TIFF_IFD_POINTER
合法时,TIFFTag
表示IFD指针。只有当getTagSet() != null
或isDataTypeOK(TIFF_IFD_POINTER) == true
时,此条件才满足。许多TIFF扩展使用IFD机制以限制可能出现在根IFD中的新标签数量。
- 返回:
-
如果此标签指向一个IFD,则返回
true
。
-
hasValueNames
public boolean hasValueNames()如果与此标签关联的数据的合法值集有助记名称,则返回true
。助记名称仅适用于具有整数数据类型的标签。- 返回:
-
如果助记值名称可用,则返回
true
。
-
addValueName
为此标签的数据可能采用的特定值添加助记名称。助记名称仅适用于具有整数数据类型的标签。- 参数:
-
value
- 数据值。 -
name
- 与该值关联的名称。
-
getValueName
返回与此标签的数据可能采用的特定值关联的助记名称,如果没有名称存在则返回null
。助记名称仅适用于具有整数数据类型的标签。- 参数:
-
value
- 数据值。 - 返回:
-
与该值关联的助记名称,作为一个
String
。
-
getNamedValues
public int[] getNamedValues()返回定义了助记名称的值数组。方法getValueName()
仅对包含在返回的数组中的值返回非null
。助记名称仅适用于具有整数数据类型的标签。- 返回:
- 具有助记名称的值。
-