org.apache.batik.ext.awt.image.codec.tiff
Class TIFFDirectory
public
class
TIFFDirectory
extends Object
implements Serializable
A class representing an Image File Directory (IFD) from a TIFF 6.0
stream. The TIFF file format is described in more detail in the
comments for the TIFFDescriptor class.
A TIFF IFD consists of a set of TIFFField tags. Methods are
provided to query the set of tags and to obtain the raw field
array. In addition, convenience methods are provided for acquiring
the values of tags that contain a single value that fits into a
byte, int, long, float, or double.
Every TIFF file is made up of one or more public IFDs that are
joined in a linked list, rooted in the file header. A file may
also contain so-called private IFDs that are referenced from
tag data and do not appear in the main list.
This class is not a committed part of the JAI API. It may
be removed or changed in future releases of JAI.
See Also: TIFFField
Method Summary |
TIFFField | getField(int tag)
Returns the value of a given tag as a TIFFField,
or null if the tag is not present. |
byte | getFieldAsByte(int tag, int index)
Returns the value of a particular index of a given tag as a
byte. |
byte | getFieldAsByte(int tag)
Returns the value of index 0 of a given tag as a
byte. |
double | getFieldAsDouble(int tag, int index)
Returns the value of a particular index of a given tag as a
double. |
double | getFieldAsDouble(int tag)
Returns the value of index 0 of a given tag as a double. |
float | getFieldAsFloat(int tag, int index)
Returns the value of a particular index of a given tag as a
float. |
float | getFieldAsFloat(int tag)
Returns the value of index 0 of a given tag as a float. |
long | getFieldAsLong(int tag, int index)
Returns the value of a particular index of a given tag as a
long. |
long | getFieldAsLong(int tag)
Returns the value of index 0 of a given tag as a
long. |
TIFFField[] | getFields()
Returns an array of TIFFFields containing all the fields
in this directory. |
long | getIFDOffset()
Returns the offset of the IFD corresponding to this
TIFFDirectory . |
long | getNextIFDOffset()
Returns the offset of the next IFD after the IFD corresponding to this
TIFFDirectory . |
static int | getNumDirectories(SeekableStream stream)
Returns the number of image directories (subimages) stored in a
given TIFF file, represented by a SeekableStream . |
int | getNumEntries() Returns the number of directory entries. |
int[] | getTags()
Returns an ordered array of ints indicating the tag
values. |
boolean | isBigEndian()
Returns a boolean indicating whether the byte order used in the
the TIFF file is big-endian. |
boolean | isTagPresent(int tag)
Returns true if a tag appears in the directory. |
Constructs a TIFFDirectory from a SeekableStream.
The directory parameter specifies which directory to read from
the linked list present in the stream; directory 0 is normally
read but it is possible to store multiple images in a single
TIFF file by maintaing multiple directories.
Parameters: stream a SeekableStream to read from. directory the index of the directory to read.
public TIFFDirectory(
SeekableStream stream, long ifd_offset, int directory)
Constructs a TIFFDirectory by reading a SeekableStream.
The ifd_offset parameter specifies the stream offset from which
to begin reading; this mechanism is sometimes used to store
private IFDs within a TIFF file that are not part of the normal
sequence of IFDs.
Parameters: stream a SeekableStream to read from. ifd_offset the long byte offset of the directory. directory the index of the directory to read beyond the
one at the current stream offset; zero indicates the IFD
at the current offset.
Returns the value of a given tag as a TIFFField,
or null if the tag is not present.
public byte getFieldAsByte(int tag, int index)
Returns the value of a particular index of a given tag as a
byte. The caller is responsible for ensuring that the tag is
present and has type TIFFField.TIFF_SBYTE, TIFF_BYTE, or
TIFF_UNDEFINED.
public byte getFieldAsByte(int tag)
Returns the value of index 0 of a given tag as a
byte. The caller is responsible for ensuring that the tag is
present and has type TIFFField.TIFF_SBYTE, TIFF_BYTE, or
TIFF_UNDEFINED.
public double getFieldAsDouble(int tag, int index)
Returns the value of a particular index of a given tag as a
double. The caller is responsible for ensuring that the tag is
present and has numeric type (all but TIFF_UNDEFINED and
TIFF_ASCII).
public double getFieldAsDouble(int tag)
Returns the value of index 0 of a given tag as a double. The
caller is responsible for ensuring that the tag is present and
has numeric type (all but TIFF_UNDEFINED and TIFF_ASCII).
public float getFieldAsFloat(int tag, int index)
Returns the value of a particular index of a given tag as a
float. The caller is responsible for ensuring that the tag is
present and has numeric type (all but TIFF_UNDEFINED and
TIFF_ASCII).
public float getFieldAsFloat(int tag)
Returns the value of index 0 of a given tag as a float. The
caller is responsible for ensuring that the tag is present and
has numeric type (all but TIFF_UNDEFINED and TIFF_ASCII).
public long getFieldAsLong(int tag, int index)
Returns the value of a particular index of a given tag as a
long. The caller is responsible for ensuring that the tag is
present and has type TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED,
TIFF_SHORT, TIFF_SSHORT, TIFF_SLONG or TIFF_LONG.
public long getFieldAsLong(int tag)
Returns the value of index 0 of a given tag as a
long. The caller is responsible for ensuring that the tag is
present and has type TIFF_BYTE, TIFF_SBYTE, TIFF_UNDEFINED,
TIFF_SHORT, TIFF_SSHORT, TIFF_SLONG or TIFF_LONG.
Returns an array of TIFFFields containing all the fields
in this directory.
public long getIFDOffset()
Returns the offset of the IFD corresponding to this
TIFFDirectory
.
public long getNextIFDOffset()
Returns the offset of the next IFD after the IFD corresponding to this
TIFFDirectory
.
Returns the number of image directories (subimages) stored in a
given TIFF file, represented by a SeekableStream
.
public int getNumEntries()
Returns the number of directory entries.
public int[] getTags()
Returns an ordered array of ints indicating the tag
values.
public boolean isBigEndian()
Returns a boolean indicating whether the byte order used in the
the TIFF file is big-endian. That is, whether the byte order is from
the most significant to the least significant.
public boolean isTagPresent(int tag)
Returns true if a tag appears in the directory.
Copyright B) 2008 Apache Software Foundation. All Rights Reserved.