模块  java.desktop

Class TIFFField

    • 方法摘要

      所有方法  静态方法  实例方法 具体的方法 
      变量和类型 方法 描述
      TIFFField clone()
      克隆该字段及其中包含的所有信息。
      static Object createArrayForType​(int dataType, int count)
      创建适合指定数据类型的数组。
      static TIFFField createFromMetadataNode​(TIFFTagSet tagSet, Node node)
      从TIFF本机映像元数据节点创建 TIFFField 。
      byte[] getAsBytes()
      将数据作为未解释的数组 byte返回。
      char[] getAsChars()
      以 char s(无符号16位整数)的数组形式返回 TIFFTag.TIFF_SHORT数据。
      double getAsDouble​(int index)
      以任何格式返回数据,如 double 。
      double[] getAsDoubles()
      以 double s(64位浮点值)的数组形式返回 TIFFTag.TIFF_DOUBLE数据。
      float getAsFloat​(int index)
      以任何格式返回数据为 float 。
      float[] getAsFloats()
      以 float (32位浮点值)的数组形式返回 TIFFTag.TIFF_FLOAT数据。
      int getAsInt​(int index)
      以任何格式返回数据为 int 。
      int[] getAsInts()
      以 int s(带符号的32位整数)的数组形式返回 TIFFTag.TIFF_SLONG数据。
      long getAsLong​(int index)
      以任何格式返回数据为 long 。
      long[] getAsLongs()
      以 long (带符号的64位整数)的数组形式返回 TIFFTag.TIFF_LONG或 TIFF_IFD_POINTER数据。
      Node getAsNativeNode()
      返回 TIFFField作为名为 "TIFFField"或 "TIFFIFD"的节点,如TIFF本机图像元数据规范中所述。
      long[] getAsRational​(int index)
      返回TIFFTag.TIFF_RATIONAL数据项作为两元素的int数组。
      long[][] getAsRationals()
      将 TIFFTag.TIFF_RATIONAL数据作为 long s的2元素数组的数组 long 。
      short[] getAsShorts()
      以 short s(带符号的16位整数)的数组形式返回 TIFFTag.TIFF_SSHORT数据。
      int[] getAsSRational​(int index)
      返回 TIFFTag.TIFF_SRATIONAL作为一个二单元阵列的数据项 int秒。
      int[][] getAsSRationals()
      将 TIFFTag.TIFF_SRATIONAL数据作为 int s的2元素数组的数组 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()
      指示与字段关联的值是否为整数数据类型。
    • 构造方法详细信息

      • TIFFField

        public TIFFField​(TIFFTag tag,
                         int type,
                         int count,
                         Object data)
        使用任意数据构造TIFFField 。 type参数必须是tag.isDataTypeOK()返回true的值。 data参数必须是适合TIFF字段类型的Java类型的数组。

        请注意,无论该值所需的字节数如何, TIFFField的值(数据)始终为实际字段值。 尽管事实上对应于该字段的TIFF IFD条目实际上可能包含对字段值的偏移而不是值本身(当且仅当该值适合4个字节时才发生),这是这种情况。 换句话说,该字段的值已经从TIFF流中读取。 (当该字段表示非基线IFD的内容时,可能会发生这种情况的例外。在这种情况下,数据将是long[]其中包含IFD的偏移量, TIFFDirectory返回的TIFFDirectory将是其内容。)

        参数
        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,
                         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 。
    • 方法详细信息

      • createFromMetadataNode

        public static TIFFField createFromMetadataNode​(TIFFTagSet tagSet,
                                                       Node node)
        从TIFF本机映像元数据节点创建TIFFField 。 如果该值"number"中没有找到该节点的属性tagSet那么新TIFFTag名称为TIFFTag.UNKNOWN_TAG_NAME将被创建并分配到外地。
        参数
        tagSet -该 TIFFTagSet到的 TIFFTag领域的所属。
        node - 本机TIFF图像元数据 TIFFField节点。
        结果
        新 TIFFField 。
        异常
        IllegalArgumentException -如果Node参数含量不粘附到TIFFField由定义的元件结构TIFF native image metadata format specification ,或如果节点属性和数据的组合不是每法律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 s的数量,而不是文件表示中的数据总长度。
        结果
        字段中存在的数据项数。
      • 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()
        以 char s(无符号16位整数)的数组形式返回 TIFFTag.TIFF_SHORT数据。
        结果
        数据为 char的数组。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_SHORT 。
      • getAsShorts

        public short[] getAsShorts()
        以 short (带符号的16位整数)的数组形式返回 TIFFTag.TIFF_SSHORT数据。
        结果
        该数据为 short的数组。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_SSHORT 。
      • getAsInts

        public int[] getAsInts()
        以 int s(带符号的32位整数)的数组形式返回 TIFFTag.TIFF_SLONG数据。
        结果
        该数据为 int的数组。
        异常
        ClassCastException -如果字段的类型是不 TIFF_SHORT , TIFF_SSHORT ,或 TIFF_SLONG 。
      • getAsLongs

        public long[] getAsLongs()
        以 long s(带符号的64位整数)的数组形式返回 TIFFTag.TIFF_LONG或 TIFF_IFD_POINTER数据。
        结果
        数据为 long的数组。
        异常
        ClassCastException - 如果该字段的类型不是 TIFF_LONG或 TIFF_IFD_POINTER 。
      • getAsFloats

        public float[] getAsFloats()
        以 float s(32位浮点值)的数组形式返回 TIFFTag.TIFF_FLOAT数据。
        结果
        该数据为 float的数组。
        异常
        ClassCastException - 如果该字段的类型不是 TIFF_FLOAT 。
      • getAsDoubles

        public double[] getAsDoubles()
        以 double s(64位浮点值)的数组形式返回 TIFFTag.TIFF_DOUBLE数据。
        结果
        该数据为 double的数组。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_DOUBLE 。
      • getAsSRationals

        public int[][] getAsSRationals()
        将 TIFFTag.TIFF_SRATIONAL数据作为 int s的2元素数组的数组 int 。
        结果
        数据作为一组签名的理性。
        异常
        ClassCastException - 如果该字段的类型不是 TIFF_SRATIONAL 。
      • getAsRationals

        public long[][] getAsRationals()
        将 TIFFTag.TIFF_RATIONAL数据作为 long s的2元素数组的数组 long 。
        结果
        数据为无符号有理数的数组。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_RATIONAL 。
      • getAsInt

        public int getAsInt​(int index)
        以任何格式返回数据为int 。

        TIFFTag.TIFF_BYTE值被视为未签名; 也就是说,不会发生符号扩展,返回的值将在[0,255]范围内。 TIFF_SBYTE数据将在[ TIFF_SBYTE ]范围内返回。

        TIFF_UNDEFINED值被视为TIFF_BYTE 。

        在数据TIFF_SLONG , TIFF_LONG , TIFF_FLOAT , TIFF_DOUBLE或TIFF_IFD_POINTER格式简单地转换为int ,并可能截断受到影响。

        通过使用双精度算术将分子除以分母然后转换为int来评估TIFF_SRATIONAL或TIFF_RATIONAL格式的数据。 可能发生精度损失和截断。

        TIFF_ASCII格式的数据将由Double.parseDouble方法解析,结果案例为int 。

        参数
        index - 数据索引。
        结果
        给定索引处的数据为 int 。
      • getAsLong

        public long getAsLong​(int index)
        以任何格式返回数据为long 。

        TIFFTag.TIFF_BYTE和TIFF_UNDEFINED数据被视为未签名; 也就是说,不会发生符号扩展,返回的值将在[0,255]范围内。 TIFF_SBYTE数据将在[ TIFF_SBYTE ]范围内返回。

        TIFF_FLOAT和TIFF_DOUBLE中的数据被简单地转换为long并且可能遭受截断。

        通过使用双精度算术将分子除以分母然后转换为long来评估TIFF_SRATIONAL或TIFF_RATIONAL格式的数据。 可能发生精度损失和截断。

        TIFF_ASCII格式的数据将由Double.parseDouble方法解析,结果转换为long 。

        参数
        index - 数据索引。
        结果
        给定指数的数据为 long 。
      • getAsFloat

        public float getAsFloat​(int index)
        以任何格式返回数据为float 。

        TIFFTag.TIFF_BYTE和TIFF_UNDEFINED数据被视为未签名; 也就是说,不会发生符号扩展,返回的值将在[0,255]范围内。 TIFF_SBYTE数据将在[ TIFF_SBYTE ]范围内返回。

        在数据TIFF_SLONG , TIFF_LONG , TIFF_DOUBLE ,或TIFF_IFD_POINTER格式简单地转换为float ,并可能截断受到影响。

        通过使用双精度算术将分子除以分母然后转换为float来评估TIFF_SRATIONAL或TIFF_RATIONAL格式的数据。

        TIFF_ASCII格式的数据将被Double.parseDouble方法解析,结果转换为float 。

        参数
        index - 数据索引。
        结果
        给定索引处的数据为 float 。
      • getAsDouble

        public double getAsDouble​(int index)
        以任何格式返回数据,如double 。

        TIFFTag.TIFF_BYTE和TIFF_UNDEFINED数据被视为未签名; 也就是说,不会发生符号扩展,返回的值将在[0,255]范围内。 TIFF_SBYTE数据将在[ TIFF_SBYTE ]范围内返回。

        通过使用双精度算术将分子除以分母来评估TIFF_SRATIONAL或TIFF_RATIONAL格式的数据。

        TIFF_ASCII格式的数据将由Double.parseDouble方法解析。

        参数
        index - 数据索引。
        结果
        给定索引处的数据为 double 。
      • getAsString

        public String getAsString​(int index)
        返回 TIFFTag.TIFF_ASCII值 String 。
        参数
        index - 数据索引。
        结果
        给定指数的数据为 String 。
        异常
        ClassCastException - 如果该字段的类型不是类型 TIFF_ASCII 。
      • getAsSRational

        public int[] getAsSRational​(int index)
        返回 TIFFTag.TIFF_SRATIONAL作为一个二单元阵列的数据项 int秒。
        参数
        index - 数据索引。
        结果
        给定索引处的数据为有符号的理性。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_SRATIONAL 。
      • getAsRational

        public long[] getAsRational​(int index)
        返回TIFFTag.TIFF_RATIONAL数据项作为两元素的int数组。
        参数
        index - 数据索引。
        结果
        给定索引处的数据为无符号有理数。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_RATIONAL 。
      • getValueAsString

        public String getValueAsString​(int index)
        返回包含数据项的人类可读版本的String 。 类型TIFFTag.TIFF_RATIONAL或TIFF_SRATIONAL数据表示为由'/'字符分隔的一对整数。 如果一个分子TIFFTag.TIFF_RATIONAL或TIFF_SRATIONAL是分母的整数倍,则该值被表示为"q/1"其中q是分子和分母的商。
        参数
        index - 数据索引。
        结果
        给定指数的数据为 String 。
        异常
        ClassCastException - 如果该字段不属于某种合法字段类型。
      • hasDirectory

        public boolean hasDirectory()
        返回该字段是否具有 TIFFDirectory 。
        结果
        当且仅当getDirectory()返回非null时才返回true。
      • getDirectory

        public TIFFDirectory getDirectory()
        返回关联的TIFFDirectory (如果可用)。 如果未设置目录,则将返回null 。
        结果
        TIFFDirectory实例或null。