Module  java.desktop

Class TIFFTag



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

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

    从以下版本开始:
    9
    另请参见:
    BaselineTIFFTagSetTIFFFieldTIFFTagSet
    • 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
      分配给具有未知标签号的标签的名称。
    • 构造方法摘要

      构造方法  
      Constructor 描述
      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)
      构造一个 TIFFTag与给定的名称,标签号和 TIFFTagSet它参考。
    • 方法摘要

      所有方法  静态方法  接口方法  具体的方法 
      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_LONGTIFF_IFD_POINTER ,值计数为1。 TIFFTagSet将代表IFD指出的TIFFTag的一组。 A TIFFTag表示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_BYTETIFF_SHORT
        结果
        一个 boolean指示给定的数据类型是否可以与该标签一起使用。
        异常
        IllegalArgumentException - 如果 datatype小于 MIN_DATATYPE或大于 MAX_DATATYPE
      • getTagSet

        public TIFFTagSet getTagSet​()
        返回该标签是其中的 TIFFTagSet
        结果
        包含 TIFFTagSet
      • isIFDPointer

        public boolean isIFDPointer​()
        如果此标记用于指向包含其他标记的IFD结构,则返回true A TIFFTag表示IFD指针,当且仅当其TIFFTagSet为非null或数据类型TIFF_IFD_POINTER合法时。 当且仅当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仅用于返回数组中包含的值。 助记符名称仅适用于具有整数数据类型的标签。
        结果
        有一个助记符名称的值。