Module java.desktop

Class TIFFTag

java.lang.Object
javax.imageio.plugins.tiff.TIFFTag

public class TIFFTag extends Object
一个定义了TIFF标签概念的类。TIFF标签是可能出现在图像文件目录(IFD)中的键。在IFD中,每个标签都有一些与之关联的数据,这些数据可能由给定数据类型的零个或多个值组成。标签和值的组合称为IFD条目或TIFF字段。

标准(“基线”)tiff流的根IFD中使用的实际标签值在BaselineTIFFTagSet类中定义。

自:
9
另请参见:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static 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

    Constructors
    Constructor
    Description
    TIFFTag(String name, int number, int dataTypes)
    使用给定名称、标签号和合法数据类型集构造一个TIFFTag
    TIFFTag(String name, int number, int dataTypes, int count)
    使用给定名称、标签号、合法数据类型集和值计数构造一个TIFFTag
    TIFFTag(String name, int number, TIFFTagSet tagSet)
    使用给定名称、标签号和引用的TIFFTagSet构造一个TIFFTag
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    addValueName(int value, String name)
    为此标签的数据可能采用的特定值添加一个助记符名称。
    int
    返回此标签的值计数。
    int
    返回一个位掩码,指示可用于存储与标签关联的数据的数据类型集。
    返回标签的名称,如其将出现在图像元数据中。
    int[]
    返回定义了助记符名称的值数组。
    int
    返回用于表示该标签的整数。
    static int
    getSizeOfType(int dataType)
    返回用于存储给定数据类型的值所使用的字节数。
    返回此标签所属的TIFFTagSet
    getValueName(int value)
    返回与此标签的数据可能采用的特定值关联的助记符名称,如果没有名称则返回null
    boolean
    如果与此标签的数据的合法值集关联有助记符名称,则返回true
    boolean
    isDataTypeOK(int dataType)
    如果给定的数据类型可用于与此标签关联的数据,则返回true
    boolean
    如果此标签用于指向包含附加标签的IFD结构,则返回true

    Methods declared in class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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

      public static final String UNKNOWN_TAG_NAME
      为具有未知标签号的标签分配的名称。例如,当读取IFD时遇到一个不在读取器已知的任何TIFFTagSet中的标签号时,可能会创建这样一个标签。
      另请参见:
  • Constructor Details

    • TIFFTag

      public TIFFTag(String name, int number, int dataTypes, int count)
      使用给定名称、标签号、合法数据类型集和值计数构造一个TIFFTag。负值计数表示合法值的数量可以是任意的,或者所需计数由IFD中的其他字段的值确定。非负计数指定与关联字段必须包含的值的数量。该标签将不会有关联的TIFFTagSet

      如果要为标签的合法数据值关联助记符名称,应在新实例上为每个名称调用addValueName()。助记符名称仅适用于具有整数数据类型的标签。

      有关如何将数据类型集转换为位掩码的说明,请参阅getDataTypes()的文档。

      参数:
      name - 标签的名称。
      number - 用于表示标签的数字。
      dataTypes - 指示此标签的合法数据类型集的位掩码。
      count - 此标签的值计数。
      抛出:
      NullPointerException - 如果名称为null。
      IllegalArgumentException - 如果数字为负数或数据类型为负数或指定了超出范围的类型。
    • TIFFTag

      public TIFFTag(String name, int number, TIFFTagSet tagSet)
      使用给定名称、标签号和引用的TIFFTagSet构造一个TIFFTag。合法数据类型设置为包括TIFF_LONGTIFF_IFD_POINTER,值计数为1。 TIFFTagSet将表示指向的IFD中出现的TIFFTag集合。如果且仅当tagSet为非null或数据类型TIFF_IFD_POINTER为合法时,TIFFTag表示IFD指针。
      参数:
      name - 标签的名称。
      number - 用于表示标签的数字。
      tagSet - 此标签所属的TIFFTagSet
      抛出:
      NullPointerException - 如果名称或tagSet为null。
      IllegalArgumentException - 如果数字为负数。
      参见:
    • TIFFTag

      public TIFFTag(String name, int number, int dataTypes)
      构造具有给定名称、标签号和合法数据类型集的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

      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_BYTETIFF_SHORT等。
      返回:
      一个指示给定数据类型是否可以与此标签一起使用的boolean
      抛出:
      IllegalArgumentException - 如果datatype小于MIN_DATATYPE或大于MAX_DATATYPE
    • getTagSet

      public TIFFTagSet getTagSet()
      返回此标签所属的TIFFTagSet
      返回:
      包含的TIFFTagSet
    • isIFDPointer

      public boolean isIFDPointer()
      如果此标签用于指向包含附加标签的IFD结构,则返回true。仅当其TIFFTagSet为非null或数据类型TIFF_IFD_POINTER合法时,TIFFTag表示IFD指针。只有当getTagSet() != nullisDataTypeOK(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()
      返回定义了助记名称的值数组。方法getValueName()仅对包含在返回的数组中的值返回非null。助记名称仅适用于具有整数数据类型的标签。
      返回:
      具有助记名称的值。