Module  java.desktop

Class TIFFField

    • 方法摘要

      所有方法  静态方法  接口方法  具体的方法 
      Modifier and Type 方法 描述
      TIFFField clone​()
      克隆该字段及其中包含的所有信息。
      static Object createArrayForType​(int dataType, int count)
      创建一个适合指定数据类型的数组。
      static TIFFField createFromMetadataNode​(TIFFTagSet tagSet, Node node)
      从TIFF本机图像元数据节点创建一个 TIFFField
      byte[] getAsBytes​()
      将数据作为未解释的数组返回 byte
      char[] getAsChars​()
      返回 TIFFTag.TIFF_SHORT数据作为阵列 char S(无符号的16位整数)。
      double getAsDouble​(int index)
      double形式返回任何格式的 double
      double[] getAsDoubles​()
      返回 TIFFTag.TIFF_DOUBLE数据作为 double s(64位浮点值)的数组。
      float getAsFloat​(int index)
      float格式返回任何格式的 float
      float[] getAsFloats​()
      返回 TIFFTag.TIFF_FLOAT数据作为 float s(32位浮点值)的数组。
      int getAsInt​(int index)
      int形式返回任何格式的 int
      int[] getAsInts​()
      返回 TIFFTag.TIFF_SLONG数据作为阵列 int秒(带符号的32位整数)。
      long getAsLong​(int index)
      long格式返回任何格式的 long
      long[] getAsLongs​()
      返回 TIFFTag.TIFF_LONGTIFF_IFD_POINTER数据作为 long s(带符号的64位整数)的数组。
      Node getAsNativeNode​()
      返回 TIFFField作为名为 "TIFFField""TIFFIFD"的节点,如TIFF本机图像元数据规范中所述。
      long[] getAsRational​(int index)
      返回一个TIFFTag.TIFF_RATIONAL数据项作为一个双元素的int数组。
      long[][] getAsRationals​()
      返回 TIFFTag.TIFF_RATIONAL数据作为2元件数组的数组 long秒。
      short[] getAsShorts​()
      返回 TIFFTag.TIFF_SSHORT数据作为 short s(带符号的16位整数)的数组。
      int[] getAsSRational​(int index)
      返回 TIFFTag.TIFF_SRATIONAL作为一个二单元阵列的数据项 int秒。
      int[][] getAsSRationals​()
      返回 TIFFTag.TIFF_SRATIONAL数据作为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 < 1typeTIFF_RATIONALTIFF_SRATIONAL
        IllegalArgumentException - 如果 count != 1typeTIFF_IFD_POINTER
        NullPointerException - 如果是 data == null
        IllegalArgumentException - 如果 data是与指定类型不兼容的类的实例。
        IllegalArgumentException - 如果数据数组的大小错误。
        IllegalArgumentException -如果所述数据数组的类型是 TIFF_LONGTIFF_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
      • TIFFField

        public TIFFField​(TIFFTag tag,
                         int type,
                         long offset,
                         TIFFDirectory dir)
        构造一个具有IFD偏移量和内容的TIFFField 偏移量将作为该字段的数据存储为long[] {offset} 该目录将不被克隆。 该领域的计数将是统一的。
        参数
        tag - 与此字段关联的标签。
        type - 其中一个常数 TIFFTag.TIFF_LONGTIFFTag.TIFF_IFD_POINTER
        offset - IFD偏移量。
        dir - 目录。
        异常
        NullPointerException - 如果是 tag == null
        IllegalArgumentException - 如果 type是所提供的 TIFFTag不可接受的数据类型。
        IllegalArgumentException - 如果 type既不是 TIFFTag.TIFF_LONG也不是 TIFFTag.TIFF_IFD_POINTER
        IllegalArgumentException - 如果是 offset <= 0
        NullPointerException - 如果是 dir == null
        另请参见:
        TIFFField(TIFFTag,int,int,Object)
    • 方法详细信息

      • 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 < 1typeTIFF_RATIONALTIFF_SRATIONAL
        IllegalArgumentException - 如果 count != 1typeTIFF_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的无法解释的数组的byte返回数据。 类型字段的必须之一TIFFTag.TIFF_BYTETIFF_SBYTE ,或TIFF_UNDEFINED

        对于TIFFTag.TIFF_BYTE格式的数据,应用程序在将数据推广到较长的整数类型时必须小心,以避免符号扩展。

        结果
        数据作为未解释的字节数组。
        异常
        ClassCastException -如果字段的类型是不 TIFF_BYTETIFF_SBYTE ,或 TIFF_UNDEFINED
      • getAsChars

        public char[] getAsChars​()
        返回 TIFFTag.TIFF_SHORT数据作为 char s(无符号16位整数)的数组。
        结果
        数据为 char的数组。
        异常
        ClassCastException - 如果该字段不是类型 TIFF_SHORT
      • getAsShorts

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

        public int[] getAsInts​()
        返回 TIFFTag.TIFF_SLONG数据作为阵列 int秒(带符号的32位整数)。
        结果
        数据为 int的数组。
        异常
        ClassCastException -如果字段的类型是不 TIFF_SHORTTIFF_SSHORT ,或 TIFF_SLONG
      • getAsLongs

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

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

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

        public int[][] getAsSRationals​()
        返回 TIFFTag.TIFF_SRATIONAL数据作为2元件数组的数组 int秒。
        结果
        数据作为一系列符号理性。
        异常
        ClassCastException - 如果字段不是类型 TIFF_SRATIONAL
      • getAsRationals

        public long[][] getAsRationals​()
        返回 TIFFTag.TIFF_RATIONAL数据作为2元件数组的数组 long秒。
        结果
        数据作为无符号理性的数组。
        异常
        ClassCastException - 如果字段不是类型 TIFF_RATIONAL
      • getAsInt

        public int getAsInt​(int index)
        int形式返回任何格式的int

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

        A TIFF_UNDEFINED价值被视为是一个TIFF_BYTE

        在数据TIFF_SLONGTIFF_LONGTIFF_FLOATTIFF_DOUBLE或者TIFF_IFD_POINTER格式简单地转换为int ,并可从截断受到影响。

        TIFF_SRATIONALTIFF_RATIONAL格式中的数据通过使用双精度算术将分子除以分母,然后转换为int来进行int 可能会发生精度损失和截断。

        TIFF_ASCII格式的数据TIFF_ASCII Double.parseDouble方法进行解析,结果为int

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

        public long getAsLong​(int index)
        long形式返回任何格式的long

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

        TIFF_FLOATTIFF_DOUBLE中的数据简单地转换为long并可能遭受截断。

        TIFF_SRATIONALTIFF_RATIONAL格式的数据通过使用双精度算术将分子除以分母,然后转换为long来进行long 可能会发生精度损失和截断。

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

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

        public float getAsFloat​(int index)
        float形式返回任何格式的float

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

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

        TIFF_SRATIONALTIFF_RATIONAL格式中的数据通过使用双精度算术将分子除以分母然后转换为float来进行float

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

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

        public double getAsDouble​(int index)
        double形式返回任何格式的double

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

        TIFF_SRATIONALTIFF_RATIONAL格式中的数据通过使用双精度算术将分子除以分母来进行评估。

        TIFF_ASCII格式的数据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_RATIONALTIFF_SRATIONAL数据表示为由'/'字符分隔的一对整数。 如果TIFFTag.TIFF_RATIONALTIFF_SRATIONAL的分子是分母的整数倍,则该值表示为"q/1" ,其中q是分子和分母的商。
        参数
        index - 数据的索引。
        结果
        给定指数的数据为 String
        异常
        ClassCastException - 如果该字段不是法定字段类型之一。
      • hasDirectory

        public boolean hasDirectory​()
        返回字段是否有一个 TIFFDirectory
        结果
        如果且仅当getDirectory()返回非空值,则为true。
      • getDirectory

        public TIFFDirectory getDirectory​()
        返回相关联的TIFFDirectory (如果可用)。 如果没有设置目录,那么将返回null
        结果
        TIFFDirectory实例或null。