public class TIFFField extends Object implements Comparable<TIFFField>, Serializable
The TIFF file format is described in more detail in the comments for the TIFFDescriptor class.
A field in a TIFF Image File Directory (IFD). A field is defined as a sequence of values of identical data type. TIFF 6.0 defines 12 data types, which are mapped internally onto the Java data types byte, int, long, float, and double.
This class is not a committed part of the JAI API. It may be removed or changed in future releases of JAI.
TIFFDirectory
, Serialized Form
Modifier and Type | Field and Description |
---|---|
static int |
TIFF_ASCII
Flag for null-terminated ASCII strings.
|
static int |
TIFF_BYTE
Flag for 8 bit unsigned integers.
|
static int |
TIFF_DOUBLE
Flag for 64 bit IEEE doubles.
|
static int |
TIFF_FLOAT
Flag for 32 bit IEEE floats.
|
static int |
TIFF_LONG
Flag for 32 bit unsigned integers.
|
static int |
TIFF_RATIONAL
Flag for pairs of 32 bit unsigned integers.
|
static int |
TIFF_SBYTE
Flag for 8 bit signed integers.
|
static int |
TIFF_SHORT
Flag for 16 bit unsigned integers.
|
static int |
TIFF_SLONG
Flag for 32 bit signed integers.
|
static int |
TIFF_SRATIONAL
Flag for pairs of 32 bit signed integers.
|
static int |
TIFF_SSHORT
Flag for 16 bit signed integers.
|
static int |
TIFF_UNDEFINED
Flag for 8 bit uninterpreted bytes.
|
Constructor and Description |
---|
TIFFField(int tag, int type, int count, Object data)
Constructs a TIFFField with arbitrary data.
|
Modifier and Type | Method and Description |
---|---|
int |
compareTo(TIFFField o)
Compares this TIFFField with another TIFFField by comparing the tags.
|
byte[] |
getAsBytes()
Returns the data as an uninterpreted array of bytes.
|
char[] |
getAsChars()
Returns TIFF_SHORT data as an array of chars (unsigned 16-bit integers).
|
double |
getAsDouble(int index)
Returns data in any numerical format as a float.
|
double[] |
getAsDoubles()
Returns TIFF_DOUBLE data as an array of doubles.
|
float |
getAsFloat(int index)
Returns data in any numerical format as a float.
|
float[] |
getAsFloats()
Returns TIFF_FLOAT data as an array of floats.
|
int |
getAsInt(int index)
Returns data in TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED, TIFF_SHORT, TIFF_SSHORT, or TIFF_SLONG format as an int.
|
int[] |
getAsInts()
Returns TIFF_SLONG data as an array of ints (signed 32-bit integers).
|
long |
getAsLong(int index)
Returns data in TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED, TIFF_SHORT, TIFF_SSHORT, TIFF_SLONG, or TIFF_LONG format as a long.
|
long[] |
getAsLongs()
Returns TIFF_LONG data as an array of longs (signed 64-bit integers).
|
long[] |
getAsRational(int index)
Returns a TIFF_RATIONAL data item as a two-element array of ints.
|
long[][] |
getAsRationals()
Returns TIFF_RATIONAL data as an array of 2-element arrays of longs.
|
short[] |
getAsShorts()
Returns TIFF_SSHORT data as an array of shorts (signed 16-bit integers).
|
int[] |
getAsSRational(int index)
Returns a TIFF_SRATIONAL data item as a two-element array of ints.
|
int[][] |
getAsSRationals()
Returns TIFF_SRATIONAL data as an array of 2-element arrays of ints.
|
String |
getAsString(int index)
Returns a TIFF_ASCII data item as a String.
|
int |
getCount()
Returns the number of elements in the IFD.
|
int |
getTag()
Returns the tag number, between 0 and 65535.
|
int |
getType()
Returns the type of the data stored in the IFD.
|
public static final int TIFF_BYTE
public static final int TIFF_ASCII
public static final int TIFF_SHORT
public static final int TIFF_LONG
public static final int TIFF_RATIONAL
public static final int TIFF_SBYTE
public static final int TIFF_UNDEFINED
public static final int TIFF_SSHORT
public static final int TIFF_SLONG
public static final int TIFF_SRATIONAL
public static final int TIFF_FLOAT
public static final int TIFF_DOUBLE
public TIFFField(int tag, int type, int count, Object data)
TIFF type | Java type |
---|---|
TIFF_BYTE | byte |
TIFF_ASCII | String |
TIFF_SHORT | char |
TIFF_LONG | long |
TIFF_RATIONAL | long[2] |
TIFF_SBYTE | byte |
TIFF_UNDEFINED | byte |
TIFF_SSHORT | short |
TIFF_SLONG | int |
TIFF_SRATIONAL | int[2] |
TIFF_FLOAT | float |
TIFF_DOUBLE | double |
public int getTag()
public int getType()
public int getCount()
public byte[] getAsBytes()
For data in TIFF_BYTE format, the application must take care when promoting the data to longer integral types to avoid sign extension.
A ClassCastException will be thrown if the field is not of type TIFF_BYTE, TIFF_SBYTE, or TIFF_UNDEFINED.
public char[] getAsChars()
A ClassCastException will be thrown if the field is not of type TIFF_SHORT.
public short[] getAsShorts()
A ClassCastException will be thrown if the field is not of type TIFF_SSHORT.
public int[] getAsInts()
A ClassCastException will be thrown if the field is not of type TIFF_SLONG.
public long[] getAsLongs()
A ClassCastException will be thrown if the field is not of type TIFF_LONG.
public float[] getAsFloats()
A ClassCastException will be thrown if the field is not of type TIFF_FLOAT.
public double[] getAsDoubles()
A ClassCastException will be thrown if the field is not of type TIFF_DOUBLE.
public int[][] getAsSRationals()
A ClassCastException will be thrown if the field is not of type TIFF_SRATIONAL.
public long[][] getAsRationals()
A ClassCastException will be thrown if the field is not of type TIFF_RATTIONAL.
public int getAsInt(int index)
TIFF_BYTE and TIFF_UNDEFINED data are treated as unsigned; that is, no sign extension will take place and the returned value will be in the range [0, 255]. TIFF_SBYTE data will be returned in the range [-128, 127].
A ClassCastException will be thrown if the field is not of type TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED, TIFF_SHORT, TIFF_SSHORT, or TIFF_SLONG.
public long getAsLong(int index)
TIFF_BYTE and TIFF_UNDEFINED data are treated as unsigned; that is, no sign extension will take place and the returned value will be in the range [0, 255]. TIFF_SBYTE data will be returned in the range [-128, 127].
A ClassCastException will be thrown if the field is not of type TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED, TIFF_SHORT, TIFF_SSHORT, TIFF_SLONG, or TIFF_LONG.
public float getAsFloat(int index)
A ClassCastException will be thrown if the field is of type TIFF_UNDEFINED or TIFF_ASCII.
public double getAsDouble(int index)
A ClassCastException will be thrown if the field is of type TIFF_UNDEFINED or TIFF_ASCII.
public String getAsString(int index)
A ClassCastException will be thrown if the field is not of type TIFF_ASCII.
public int[] getAsSRational(int index)
A ClassCastException will be thrown if the field is not of type TIFF_SRATIONAL.
public long[] getAsRational(int index)
A ClassCastException will be thrown if the field is not of type TIFF_RATIONAL.
public int compareTo(TIFFField o)
TIFFField
with another TIFFField
by comparing the tags.
Note: this class has a natural ordering that is inconsistent with equals()
.
compareTo
in interface Comparable<TIFFField>
IllegalArgumentException
- if the parameter is null
.
Copyright © 1998–2022. All rights reserved.