Package net.sourceforge.jiu.codecs.tiff
Class TIFFImageFileDirectory
java.lang.Object
net.sourceforge.jiu.codecs.tiff.TIFFImageFileDirectory
- All Implemented Interfaces:
TIFFConstants
This class encapsulates all data of a TIFF image file directory (IFD).
- Author:
- Marco Schmidt
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
private int
private int
private int[]
private int
private int
private int[]
private int
private String
private Date
private String
private int
private int
private int[]
private int
private int
private String
private String
private int
private boolean
private String
private String
private int
private int
private int
private Palette
private int
private int
private int
private int
private int
private double
private double
private int
private int
private int[]
private String
private Vector
private Vector
private int
private int
private Vector
private Vector
private int
private Vector
private int
private TimeZone
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
static final int
private int
private int
Fields inherited from interface net.sourceforge.jiu.codecs.tiff.TIFFConstants
COMPRESSION_CCITT_GROUP3_1D_MODIFIED_HUFFMAN, COMPRESSION_CCITT_T4, COMPRESSION_CCITT_T6, COMPRESSION_DEFLATED_INOFFICIAL, COMPRESSION_DEFLATED_OFFICIAL, COMPRESSION_JBIG, COMPRESSION_JBIG2, COMPRESSION_JPEG_6_0, COMPRESSION_JPEG_POST_6_0, COMPRESSION_LZW, COMPRESSION_NEXT, COMPRESSION_NONE, COMPRESSION_NONE_WORD_ALIGNED, COMPRESSION_PACKBITS, COMPRESSION_SGI_LOG_24_PACKED, COMPRESSION_SGI_LOG_RLE, COMPRESSION_THUNDERSCAN, PHOTOMETRIC_BLACK_IS_ZERO, PHOTOMETRIC_LOGL, PHOTOMETRIC_PALETTED, PHOTOMETRIC_TRUECOLOR_CMYK, PHOTOMETRIC_TRUECOLOR_LOGLUV, PHOTOMETRIC_TRUECOLOR_RGB, PHOTOMETRIC_WHITE_IS_ZERO, PLANAR_CONFIGURATION_CHUNKY, PLANAR_CONFIGURATION_PLANAR, TAG_ARTIST, TAG_BAD_FAX_LINES, TAG_BITS_PER_SAMPLE, TAG_CELL_LENGTH, TAG_CELL_WIDTH, TAG_CLEAN_FAX_DATA, TAG_COLOR_MAP, TAG_COMPRESSION, TAG_CONSECUTIVE_BAD_FAX_LINES, TAG_COPYRIGHT, TAG_DATE_TIME, TAG_DOCUMENT_NAME, TAG_EXTRA_SAMPLES, TAG_FILL_ORDER, TAG_FREE_BYTE_COUNTS, TAG_FREE_OFFSETS, TAG_GRAY_RESPONSE_CURVE, TAG_GRAY_RESPONSE_UNIT, TAG_HOST_COMPUTER, TAG_IMAGE_DESCRIPTION, TAG_IMAGE_LENGTH, TAG_IMAGE_WIDTH, TAG_LENGTH, TAG_MAKE, TAG_MAX_SAMPLE_VALUE, TAG_MIN_SAMPLE_VALUE, TAG_MODEL, TAG_NEW_SUBFILE_TYPE, TAG_ORIENTATION, TAG_PHOTOMETRIC_INTERPRETATION, TAG_PHOTOSHOP_IMAGE_RESOURCES, TAG_PLANAR_CONFIGURATION, TAG_PREDICTOR, TAG_RESOLUTION_UNIT, TAG_RESOLUTION_X, TAG_RESOLUTION_Y, TAG_ROWS_PER_STRIP, TAG_SAMPLES_PER_PIXEL, TAG_SOFTWARE, TAG_STRIP_BYTE_COUNTS, TAG_STRIP_OFFSETS, TAG_T4_OPTIONS, TAG_T6_OPTIONS, TAG_TILE_BYTE_COUNTS, TAG_TILE_HEIGHT, TAG_TILE_OFFSETS, TAG_TILE_WIDTH, TAG_TYPE_ASCII, TAG_TYPE_BYTE, TAG_TYPE_DOUBLE, TAG_TYPE_FLOAT, TAG_TYPE_LONG, TAG_TYPE_RATIONAL, TAG_TYPE_SBYTE, TAG_TYPE_SHORT, TAG_TYPE_SLONG, TAG_TYPE_SRATIONAL, TAG_TYPE_SSHORT, TAG_TYPE_UNDEFINED
-
Constructor Summary
ConstructorsConstructorDescriptionInitializes all members to null or -1 and creates an internal list for the tags that will be make up this directory. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Adds a tag to the end of the internal list of tags.private void
int
computeNumBytes
(int numPixels) TODO: regard extra samplesReturns information on the person who created the image (as stored in tagTIFFConstants.TAG_ARTIST
).int
Returns the number of bits per pixel (not including transparency information).int
getByteCount
(int tileIndex) Returns the number of compressed byte for a given tile.int
int
Returns the compression method, encoded as a number as found inTIFFConstants
(more specifically, the COMPRESSION_xyz constants).static String
getCompressionName
(int method) Returns the name of a TIFF compression method.If a date / time tag was found in this image file directory andinitFromTags(boolean)
was called already, it was attempted to create aDate
object from it.If there was a date / time tag in this IFD, its String value is returned.int
getDpiX()
int
getDpiY()
int
int
getModel()
int
int
int
int
int
int
int
int
int
int
int
long
getTileOffset
(int tileIndex) int
int
getTileX1
(int tileIndex) int
getTileX2
(int tileIndex) int
getTileY1
(int tileIndex) int
getTileY2
(int tileIndex) int
getWidth()
void
initFromTags
(boolean check) void
boolean
boolean
boolean
Returnstrue
if the image belonging to this IFD is stored as strips,false
otherwise.boolean
isTiled()
Returnstrue
if the image belonging to this IFD is stored as tiles,false
otherwise.void
setTimeZone
(TimeZone tz) Sets the time zone to be used when trying to interpret dates found in aTIFFConstants.TAG_DATE_TIME
tag.
-
Field Details
-
TYPE_BILEVEL_PACKED
public static final int TYPE_BILEVEL_PACKED- See Also:
-
TYPE_GRAY4
public static final int TYPE_GRAY4- See Also:
-
TYPE_GRAY8
public static final int TYPE_GRAY8- See Also:
-
TYPE_GRAY16
public static final int TYPE_GRAY16- See Also:
-
TYPE_PALETTED4
public static final int TYPE_PALETTED4- See Also:
-
TYPE_PALETTED8
public static final int TYPE_PALETTED8- See Also:
-
TYPE_RGB24_INTERLEAVED
public static final int TYPE_RGB24_INTERLEAVED- See Also:
-
TYPE_RGB48_INTERLEAVED
public static final int TYPE_RGB48_INTERLEAVED- See Also:
-
TYPE_BILEVEL_BYTE
public static final int TYPE_BILEVEL_BYTE- See Also:
-
TYPE_CMYK32_INTERLEAVED
public static final int TYPE_CMYK32_INTERLEAVED- See Also:
-
TYPE_CMYK32_PLANAR
public static final int TYPE_CMYK32_PLANAR- See Also:
-
TYPE_LOGLUV32_INTERLEAVED
public static final int TYPE_LOGLUV32_INTERLEAVED- See Also:
-
TYPE_LOGL
public static final int TYPE_LOGL- See Also:
-
artist
-
bitsPerSample
private int[] bitsPerSample -
bitsPerPixel
private int bitsPerPixel -
bitsPerRow
private int bitsPerRow -
bytesBetweenSamples
private int bytesBetweenSamples -
bytesPerSample
private int[] bytesPerSample -
bytesPerRow
private int bytesPerRow -
compression
private int compression -
copyright
-
date
-
dateTime
-
dpiX
private int dpiX -
dpiY
private int dpiY -
extraSamples
private int[] extraSamples -
height
private int height -
horizontalTiles
private int horizontalTiles -
hostComputer
-
imageDescription
-
imageType
private int imageType -
invertGraySamples
private boolean invertGraySamples -
make
-
model
-
numStrips
private int numStrips -
numTiles
private int numTiles -
orientation
private int orientation -
palette
-
pixelsPerRow
private int pixelsPerRow -
planarConfiguration
private int planarConfiguration -
photometricInterpretation
private int photometricInterpretation -
predictor
private int predictor -
sampleTypes
private int[] sampleTypes -
resolutionUnit
private int resolutionUnit -
resolutionX
private double resolutionX -
resolutionY
private double resolutionY -
rowsPerStrip
private int rowsPerStrip -
samplesPerPixel
private int samplesPerPixel -
software
-
stripByteCounts
-
stripOffsets
-
t4Options
private int t4Options -
t6Options
private int t6Options -
tags
-
tileByteCounts
-
tileOffsets
-
timeZone
-
tileWidth
private int tileWidth -
tileHeight
private int tileHeight -
verticalTiles
private int verticalTiles -
width
private int width
-
-
Constructor Details
-
TIFFImageFileDirectory
public TIFFImageFileDirectory()Initializes all members to null or -1 and creates an internal list for the tags that will be make up this directory.
-
-
Method Details
-
append
Adds a tag to the end of the internal list of tags.- Parameters:
tag
- the TIFFTag instance to be appended
-
checkContent
-
computeNumBytes
public int computeNumBytes(int numPixels) TODO: regard extra samples -
getArtist
Returns information on the person who created the image (as stored in tagTIFFConstants.TAG_ARTIST
). -
getBitsPerPixel
public int getBitsPerPixel()Returns the number of bits per pixel (not including transparency information). -
getByteCount
public int getByteCount(int tileIndex) Returns the number of compressed byte for a given tile. Tile index must not be negative and must be smaller than the number of tiles.- Parameters:
tileIndex
- zero-based index of tile or strip for which the number of compressed bytes is to be returned
-
getBytesPerRow
public int getBytesPerRow() -
getCompression
public int getCompression()Returns the compression method, encoded as a number as found inTIFFConstants
(more specifically, the COMPRESSION_xyz constants). UsegetCompressionName(int)
to get the English name of this compression method.- Returns:
- compression method
-
getCompressionName
Returns the name of a TIFF compression method. If the name is unknown, Unknown method plus the method number is returned. This static method can be used in combination with the value fromgetCompression()
.- Parameters:
method
- the compression method number- Returns:
- the compression method name
-
getCopyright
-
getDateTime
If a date / time tag was found in this image file directory andinitFromTags(boolean)
was called already, it was attempted to create aDate
object from it. This object (ornull
) is returned. UsesetTimeZone(java.util.TimeZone)
to provide a time zone before the date parsing is done.- See Also:
-
getDateTimeString
If there was a date / time tag in this IFD, its String value is returned.- See Also:
-
getDpiX
public int getDpiX() -
getDpiY
public int getDpiY() -
getHeight
public int getHeight() -
getHostComputer
-
getImageDescription
-
getImageType
public int getImageType() -
getModel
-
getNumHorizontalTiles
public int getNumHorizontalTiles() -
getNumStrips
public int getNumStrips() -
getNumTiles
public int getNumTiles() -
getNumVerticalTiles
public int getNumVerticalTiles() -
getPalette
-
getPhotometricInterpretation
public int getPhotometricInterpretation() -
getPredictor
public int getPredictor() -
getRowsPerStrip
public int getRowsPerStrip() -
getSamplesPerPixel
public int getSamplesPerPixel() -
getSoftware
-
getStripOffsets
-
getT4Options
public int getT4Options() -
getT6Options
public int getT6Options() -
getTileHeight
public int getTileHeight() -
getTileOffset
public long getTileOffset(int tileIndex) -
getTileWidth
public int getTileWidth() -
getTileX1
public int getTileX1(int tileIndex) -
getTileX2
public int getTileX2(int tileIndex) -
getTileY1
public int getTileY1(int tileIndex) -
getTileY2
public int getTileY2(int tileIndex) -
getWidth
public int getWidth() -
initMembers
public void initMembers() -
initFromTags
public void initFromTags(boolean check) throws InvalidFileStructureException, UnsupportedTypeException -
isGrayscale
public boolean isGrayscale() -
isPaletted
public boolean isPaletted() -
isStriped
public boolean isStriped()Returnstrue
if the image belonging to this IFD is stored as strips,false
otherwise.- See Also:
-
isTiled
public boolean isTiled()Returnstrue
if the image belonging to this IFD is stored as tiles,false
otherwise.- See Also:
-
setTimeZone
Sets the time zone to be used when trying to interpret dates found in aTIFFConstants.TAG_DATE_TIME
tag. Example call:setTimeZone(TimeZone.getTimeZone("America/New_York");
.- Parameters:
tz
- TimeZone object
-