- java.lang.Object
-
- javax.imageio.plugins.tiff.TIFFTag
-
public class TIFFTag extends Object
定义TIFF标签概念的类。 TIFF标签是可能出现在图像文件目录(IFD)中的键。 在IFD中,每个标签具有与其相关联的一些数据,其可以由给定数据类型的零个或多个值组成。 标签和值的组合称为IFD条目或TIFF字段。标准(“基线”)tiff流的根IFD中使用的实际标签值在
BaselineTIFFTagSet
类中定义。- 从以下版本开始:
- 9
- 另请参见:
-
BaselineTIFFTagSet
,TIFFField
,TIFFTagSet
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
MAX_DATATYPE
表示TIFF数据类型的数字最大常数。static int
MIN_DATATYPE
表示TIFF数据类型的数字最小的常数。static int
TIFF_ASCII
标记为空终止的ASCII字符串。static int
TIFF_BYTE
8位无符号整数的标志。static int
TIFF_DOUBLE
标志为64位IEEE双精度。static int
TIFF_FLOAT
32位IEEE浮标的标志。static int
TIFF_IFD_POINTER
TIFF技术说明1中TIFF技术说明1中定义的IFD指针标志。static int
TIFF_LONG
32位无符号整数的标志。static int
TIFF_RATIONAL
32位无符号整数的标志。static int
TIFF_SBYTE
8位有符号整数的标志。static int
TIFF_SHORT
标志为16位无符号整数。static int
TIFF_SLONG
32位有符号整数的标志。static int
TIFF_SRATIONAL
32位有符号整数的标志。static int
TIFF_SSHORT
标志为16位有符号整数。static int
TIFF_UNDEFINED
8位未解释字节的标志。static String
UNKNOWN_TAG_NAME
分配给具有未知标签号的标签的名称。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected void
addValueName(int value, String name)
为此标签的数据可能需要的特定值添加一个助记符名称。int
getCount()
返回此标签的值计数。int
getDataTypes()
返回指示可用于存储与标签相关联的数据的数据类型集的位掩码。String
getName()
返回标记的名称,因为它将显示在图像元数据中。int[]
getNamedValues()
返回定义助记符名称的值的数组。int
getNumber()
返回用于表示标签的整数。static int
getSizeOfType(int dataType)
返回用于存储给定数据类型的值的字节数。TIFFTagSet
getTagSet()
返回此标签是其中的TIFFTagSet
。String
getValueName(int value)
返回与该标签的数据可能占用的特定值相关联的助记符名称,如果没有名称,则null
。boolean
hasValueNames()
如果存在与该标签相关联的数据的合法值集合的助记名称,则返回true
。boolean
isDataTypeOK(int dataType)
如果给定的数据类型可以用于与此标签关联的数据,则返回true
。boolean
isIFDPointer()
如果此标记用于指向包含其他标记的IFD结构,则返回true
。
-
-
-
字段详细信息
-
TIFF_BYTE
public static final int TIFF_BYTE
8位无符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_ASCII
public static final int TIFF_ASCII
标记为空终止的ASCII字符串。- 另请参见:
- Constant Field Values
-
TIFF_SHORT
public static final int TIFF_SHORT
标志为16位无符号整数。- 另请参见:
- Constant Field Values
-
TIFF_LONG
public static final int TIFF_LONG
32位无符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_RATIONAL
public static final int TIFF_RATIONAL
32位无符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_SBYTE
public static final int TIFF_SBYTE
8位有符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_UNDEFINED
public static final int TIFF_UNDEFINED
8位未解释字节的标志。- 另请参见:
- Constant Field Values
-
TIFF_SSHORT
public static final int TIFF_SSHORT
标志为16位有符号整数。- 另请参见:
- Constant Field Values
-
TIFF_SLONG
public static final int TIFF_SLONG
32位有符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_SRATIONAL
public static final int TIFF_SRATIONAL
32位有符号整数的标志。- 另请参见:
- Constant Field Values
-
TIFF_FLOAT
public static final int TIFF_FLOAT
32位IEEE浮标的标志。- 另请参见:
- Constant Field Values
-
TIFF_DOUBLE
public static final int TIFF_DOUBLE
标志为64位IEEE双精度。- 另请参见:
- Constant Field Values
-
TIFF_IFD_POINTER
public static final int TIFF_IFD_POINTER
TIFF技术说明1中TIFF技术说明1中定义的IFD指针标志。- 另请参见:
- Constant Field Values
-
MIN_DATATYPE
public static final int MIN_DATATYPE
表示TIFF数据类型的数字最小的常数。- 另请参见:
- Constant Field Values
-
MAX_DATATYPE
public static final int MAX_DATATYPE
表示TIFF数据类型的数字最大常数。- 另请参见:
- Constant Field Values
-
UNKNOWN_TAG_NAME
public static final String UNKNOWN_TAG_NAME
分配给具有未知标签号的标签的名称。 这样的标签可以例如在读取IFD时被创建,并且遇到不在阅读器已知的任何TIFFTagSet
的标签号。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
TIFFTag
public TIFFTag(String name, int number, int dataTypes, int count)
构造具有给定名称,标签号,法定数据类型集合和值计数的TIFFTag
。 负值计数表示任意数量的值合法或所需计数由IFD中其他字段的值确定。 非负数指定相关字段必须包含的值的数量。 该标签将没有关联的TIFFTagSet
。如果有助记符名称与标签的合法数据值相关联,则应在每个名称的新实例上调用
addValueName()
。 助记符名称仅适用于具有整数数据类型的标签。有关如何将数据类型转换为位掩码的说明,请参阅
getDataTypes()
的文档。- 参数
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
dataTypes
- 指示该标签的法定数据类型集的位掩码。 -
count
- 此标记的值计数。 - 异常
-
NullPointerException
- 如果name为null。 -
IllegalArgumentException
- 如果number为负数或dataTypes为负数或指定超出范围类型。
-
TIFFTag
public TIFFTag(String name, int number, TIFFTagSet tagSet)
构造一个TIFFTag
具有给定的名称,标签号和TIFFTagSet
。 法定数据类型设置为TIFF_LONG
和TIFF_IFD_POINTER
,值计数为1。TIFFTagSet
将代表IFD指出的TIFFTag
的一组。 ATIFFTag
表示IFD指针,当且仅当tagSet
为非null
或数据类型TIFF_IFD_POINTER
合法时。- 参数
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
tagSet
- 该标签所属的TIFFTagSet
。 - 异常
-
NullPointerException
- 如果name或tagSet为null。 -
IllegalArgumentException
- 如果number为负数。 - 另请参见:
-
TIFFTag(String, int, int, int)
-
TIFFTag
public TIFFTag(String name, int number, int dataTypes)
构造具有给定名称,标签号和法定数据类型的TIFFTag
。 标签的值计数将是未定义的,它将没有关联的TIFFTagSet
。- 参数
-
name
- 标签的名称。 -
number
- 用于表示标签的数字。 -
dataTypes
- 指示该标签的法定数据类型集合的位掩码。 - 异常
-
NullPointerException
- 如果name为null。 -
IllegalArgumentException
- 如果number为负数或dataTypes为负数或指定超出范围类型。 - 另请参见:
-
TIFFTag(String, int, int, int)
-
-
方法详细信息
-
getSizeOfType
public static int getSizeOfType(int dataType)
返回用于存储给定数据类型的值的字节数。- 参数
-
dataType
- 要查询的数据类型。 - 结果
- 用于存储给定数据类型的字节数。
- 异常
-
IllegalArgumentException
- 如果datatype
小于MIN_DATATYPE
或大于MAX_DATATYPE
。
-
getName
public String 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
public TIFFTagSet getTagSet()
返回该标签是其中的TIFFTagSet
。- 结果
-
包含
TIFFTagSet
。
-
isIFDPointer
public boolean isIFDPointer()
如果此标记用于指向包含其他标记的IFD结构,则返回true
。 ATIFFTag
表示IFD指针,当且仅当其TIFFTagSet
为非null
或数据类型TIFF_IFD_POINTER
合法时。 当且仅当getTagSet() != null
或isDataTypeOK(TIFF_IFD_POINTER) == true
才能满足此条件。许多TIFF扩展使用IFD机制来限制可能出现在根IFD中的新标签的数量。
- 结果
-
如果此标签指向IFD,
true
。
-
hasValueNames
public boolean hasValueNames()
如果存在与该标签关联的数据的合法值集合的助记名称,则返回true
。 助记符名称仅适用于具有整数数据类型的标签。- 结果
-
true
如果助记符值名称可用。
-
addValueName
protected void addValueName(int value, String name)
为此标签的数据可能需要的特定值添加一个助记符名称。 助记符名称仅适用于具有整数数据类型的标签。- 参数
-
value
- 数据值。 -
name
- 与值相关联的名称。
-
getValueName
public String getValueName(int value)
返回与该标签的数据可能占用的特定值相关联的助记符名称,如果没有名称,则null
。 助记符名称仅适用于具有整数数据类型的标签。- 参数
-
value
- 数据值。 - 结果
-
与该值相关联的助记符名称,作为
String
。
-
getNamedValues
public int[] getNamedValues()
- 结果
- 有一个助记符名称的值。
-
-