模块  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_LONGTIFF_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_ASCIIString
      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
    • 方法详细信息

      • 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_LONGTIFFTag.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_BYTETIFF_SBYTE ,或TIFF_UNDEFINED

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

        结果
        数据为未解释的字节数组。
        异常
        ClassCastException -如果字段的类型是不 TIFF_BYTETIFF_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_SHORTTIFF_SSHORT ,或 TIFF_SLONG
      • getAsLongs

        public long[] getAsLongs()
        long s(带符号的64位整数)的数组形式返回 TIFFTag.TIFF_LONGTIFF_IFD_POINTER数据。
        结果
        数据为 long的数组。
        异常
        ClassCastException - 如果该字段的类型不是 TIFF_LONGTIFF_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_SLONGTIFF_LONGTIFF_FLOATTIFF_DOUBLETIFF_IFD_POINTER格式简单地转换为int ,并可能截断受到影响。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public String getAsString​(int index)
        返回 TIFFTag.TIFF_ASCIIString
        参数
        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()返回非null时才返回true。
      • getDirectory

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