Class TIFFImageFileDirectory

java.lang.Object
net.sourceforge.jiu.codecs.tiff.TIFFImageFileDirectory
All Implemented Interfaces:
TIFFConstants

public class TIFFImageFileDirectory extends Object implements TIFFConstants
This class encapsulates all data of a TIFF image file directory (IFD).
Author:
Marco Schmidt
  • 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

      private String 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
    • date

      private Date date
    • dateTime

      private String dateTime
    • dpiX

      private int dpiX
    • dpiY

      private int dpiY
    • extraSamples

      private int[] extraSamples
    • height

      private int height
    • horizontalTiles

      private int horizontalTiles
    • hostComputer

      private String hostComputer
    • imageDescription

      private String imageDescription
    • imageType

      private int imageType
    • invertGraySamples

      private boolean invertGraySamples
    • make

      private String make
    • model

      private String model
    • numStrips

      private int numStrips
    • numTiles

      private int numTiles
    • orientation

      private int orientation
    • palette

      private Palette 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

      private String software
    • stripByteCounts

      private Vector stripByteCounts
    • stripOffsets

      private Vector stripOffsets
    • t4Options

      private int t4Options
    • t6Options

      private int t6Options
    • tags

      private Vector tags
    • tileByteCounts

      private Vector tileByteCounts
    • tileOffsets

      private Vector tileOffsets
    • timeZone

      private TimeZone 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

      public void append(TIFFTag tag)
      Adds a tag to the end of the internal list of tags.
      Parameters:
      tag - the TIFFTag instance to be appended
    • checkContent

      private void checkContent() throws InvalidFileStructureException, UnsupportedTypeException
      Throws:
      InvalidFileStructureException
      UnsupportedTypeException
    • computeNumBytes

      public int computeNumBytes(int numPixels)
      TODO: regard extra samples
    • getArtist

      public String getArtist()
      Returns information on the person who created the image (as stored in tag TIFFConstants.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 in TIFFConstants (more specifically, the COMPRESSION_xyz constants). Use getCompressionName(int) to get the English name of this compression method.
      Returns:
      compression method
    • getCompressionName

      public static String getCompressionName(int method)
      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 from getCompression().
      Parameters:
      method - the compression method number
      Returns:
      the compression method name
    • getCopyright

      public String getCopyright()
    • getDateTime

      public Date getDateTime()
      If a date / time tag was found in this image file directory and initFromTags(boolean) was called already, it was attempted to create a Date object from it. This object (or null) is returned. Use setTimeZone(java.util.TimeZone) to provide a time zone before the date parsing is done.
      See Also:
    • getDateTimeString

      public String 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

      public String getHostComputer()
    • getImageDescription

      public String getImageDescription()
    • getImageType

      public int getImageType()
    • getModel

      public String getModel()
    • getNumHorizontalTiles

      public int getNumHorizontalTiles()
    • getNumStrips

      public int getNumStrips()
    • getNumTiles

      public int getNumTiles()
    • getNumVerticalTiles

      public int getNumVerticalTiles()
    • getPalette

      public Palette getPalette()
    • getPhotometricInterpretation

      public int getPhotometricInterpretation()
    • getPredictor

      public int getPredictor()
    • getRowsPerStrip

      public int getRowsPerStrip()
    • getSamplesPerPixel

      public int getSamplesPerPixel()
    • getSoftware

      public String getSoftware()
    • getStripOffsets

      public Vector 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
      Throws:
      InvalidFileStructureException
      UnsupportedTypeException
    • isGrayscale

      public boolean isGrayscale()
    • isPaletted

      public boolean isPaletted()
    • isStriped

      public boolean isStriped()
      Returns true if the image belonging to this IFD is stored as strips, false otherwise.
      See Also:
    • isTiled

      public boolean isTiled()
      Returns true if the image belonging to this IFD is stored as tiles, false otherwise.
      See Also:
    • setTimeZone

      public void setTimeZone(TimeZone tz)
      Sets the time zone to be used when trying to interpret dates found in a TIFFConstants.TAG_DATE_TIME tag. Example call: setTimeZone(TimeZone.getTimeZone("America/New_York");.
      Parameters:
      tz - TimeZone object