Class TIFFImageReader
- java.lang.Object
-
- javax.imageio.ImageReader
-
- com.github.jaiimageio.impl.plugins.tiff.TIFFImageReader
-
public class TIFFImageReader extends javax.imageio.ImageReader
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int[]
bitsPerSample
(package private) char[]
colorMap
(package private) int
compression
(package private) int
currIndex
private static boolean
DEBUG
private TIFFDecompressor
decompressor
private int[]
destinationBands
(package private) int
dstHeight
(package private) int
dstMinX
(package private) int
dstMinY
(package private) int
dstWidth
(package private) int
dstXOffset
(package private) int
dstYOffset
(package private) int[]
extraSamples
(package private) boolean
gotHeader
(package private) int
height
(package private) TIFFImageMetadata
imageMetadata
(package private) javax.imageio.ImageReadParam
imageReadParam
(package private) java.util.List
imageStartPosition
(package private) java.util.HashMap
imageTypeMap
(package private) int
numBands
(package private) int
numImages
(package private) int
photometricInterpretation
(package private) int
pixelsRead
(package private) int
pixelsToRead
(package private) int
planarConfiguration
(package private) int
rowsDone
(package private) int[]
sampleFormat
(package private) int
samplesPerPixel
private int[]
sourceBands
(package private) int
sourceXOffset
(package private) int
sourceYOffset
(package private) int
srcXSubsampling
(package private) int
srcYSubsampling
(package private) javax.imageio.stream.ImageInputStream
stream
(package private) TIFFStreamMetadata
streamMetadata
(package private) java.awt.image.BufferedImage
theImage
(package private) int
tileOrStripHeight
(package private) int
tileOrStripWidth
(package private) int
tilesAcross
(package private) int
tilesDown
(package private) int
width
-
Constructor Summary
Constructors Constructor Description TIFFImageReader(javax.imageio.spi.ImageReaderSpi originatingProvider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canReadRaster()
private void
checkIndex(int imageIndex)
private void
decodeTile(int ti, int tj, int band)
(package private) void
forwardWarningMessage(java.lang.String warning)
Package scope method to allow decompressors, for example, to emit warning messages.private int
getCompression()
javax.imageio.ImageReadParam
getDefaultReadParam()
protected static java.awt.image.BufferedImage
getDestination(javax.imageio.ImageReadParam param, java.util.Iterator imageTypes, int width, int height)
private int
getHeight()
int
getHeight(int imageIndex)
javax.imageio.metadata.IIOMetadata
getImageMetadata(int imageIndex)
java.util.Iterator
getImageTypes(int imageIndex)
private int
getNumBands()
int
getNumImages(boolean allowSearch)
int
getNumThumbnails(int imageIndex)
private int
getPlanarConfiguration()
javax.imageio.metadata.IIOMetadata
getStreamMetadata()
javax.imageio.metadata.IIOMetadata
getStreamMetadata(int imageIndex)
int
getTileHeight(int imageIndex)
private long
getTileOrStripByteCount(int tileIndex)
private int
getTileOrStripHeight()
private long
getTileOrStripOffset(int tileIndex)
private int
getTileOrStripWidth()
int
getTileWidth(int imageIndex)
private int
getWidth()
int
getWidth(int imageIndex)
boolean
hasThumbnails(int imageIndex)
private static int
iceil(int num, int den)
private static int
ifloor(int num, int den)
private void
initializeFromMetadata()
Initializes these instance variables from the image metadata:boolean
isImageTiled(int imageIndex)
protected boolean
isLsb()
boolean
isRandomAccessEasy(int imageIndex)
private int
locateImage(int imageIndex)
private void
prepareRead(int imageIndex, javax.imageio.ImageReadParam param)
java.awt.image.BufferedImage
read(int imageIndex, javax.imageio.ImageReadParam param)
java.awt.image.RenderedImage
readAsRenderedImage(int imageIndex, javax.imageio.ImageReadParam param)
private void
readHeader()
private void
readMetadata()
java.awt.image.Raster
readRaster(int imageIndex, javax.imageio.ImageReadParam param)
boolean
readSupportsThumbnails()
java.awt.image.BufferedImage
readTile(int imageIndex, int tileX, int tileY)
private void
reportProgress()
void
reset()
protected void
resetLocal()
private void
seekToImage(int imageIndex)
void
setInput(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
-
Methods inherited from class javax.imageio.ImageReader
abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, checkReadParamBandSettings, clearAbortRequest, computeRegions, dispose, getAspectRatio, getAvailableLocales, getFormatName, getImageMetadata, getInput, getLocale, getMinIndex, getOriginatingProvider, getRawImageType, getSourceRegion, getStreamMetadata, getThumbnailHeight, getThumbnailWidth, getTileGridXOffset, getTileGridYOffset, isIgnoringMetadata, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readerSupportsThumbnails, readThumbnail, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, setInput, setInput, setLocale
-
-
-
-
Field Detail
-
DEBUG
private static final boolean DEBUG
- See Also:
- Constant Field Values
-
stream
javax.imageio.stream.ImageInputStream stream
-
gotHeader
boolean gotHeader
-
imageReadParam
javax.imageio.ImageReadParam imageReadParam
-
streamMetadata
TIFFStreamMetadata streamMetadata
-
currIndex
int currIndex
-
imageMetadata
TIFFImageMetadata imageMetadata
-
imageStartPosition
java.util.List imageStartPosition
-
numImages
int numImages
-
imageTypeMap
java.util.HashMap imageTypeMap
-
theImage
java.awt.image.BufferedImage theImage
-
width
int width
-
height
int height
-
numBands
int numBands
-
tileOrStripWidth
int tileOrStripWidth
-
tileOrStripHeight
int tileOrStripHeight
-
planarConfiguration
int planarConfiguration
-
rowsDone
int rowsDone
-
compression
int compression
-
photometricInterpretation
int photometricInterpretation
-
samplesPerPixel
int samplesPerPixel
-
sampleFormat
int[] sampleFormat
-
bitsPerSample
int[] bitsPerSample
-
extraSamples
int[] extraSamples
-
colorMap
char[] colorMap
-
sourceXOffset
int sourceXOffset
-
sourceYOffset
int sourceYOffset
-
srcXSubsampling
int srcXSubsampling
-
srcYSubsampling
int srcYSubsampling
-
dstWidth
int dstWidth
-
dstHeight
int dstHeight
-
dstMinX
int dstMinX
-
dstMinY
int dstMinY
-
dstXOffset
int dstXOffset
-
dstYOffset
int dstYOffset
-
tilesAcross
int tilesAcross
-
tilesDown
int tilesDown
-
pixelsRead
int pixelsRead
-
pixelsToRead
int pixelsToRead
-
sourceBands
private int[] sourceBands
-
destinationBands
private int[] destinationBands
-
decompressor
private TIFFDecompressor decompressor
-
-
Method Detail
-
setInput
public void setInput(java.lang.Object input, boolean seekForwardOnly, boolean ignoreMetadata)
- Overrides:
setInput
in classjavax.imageio.ImageReader
-
readHeader
private void readHeader() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
locateImage
private int locateImage(int imageIndex) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
getNumImages
public int getNumImages(boolean allowSearch) throws java.io.IOException
- Specified by:
getNumImages
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getStreamMetadata
public javax.imageio.metadata.IIOMetadata getStreamMetadata() throws javax.imageio.IIOException
- Specified by:
getStreamMetadata
in classjavax.imageio.ImageReader
- Throws:
javax.imageio.IIOException
-
checkIndex
private void checkIndex(int imageIndex)
-
seekToImage
private void seekToImage(int imageIndex) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
readMetadata
private void readMetadata() throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
getWidth
private int getWidth()
-
getHeight
private int getHeight()
-
getNumBands
private int getNumBands()
-
getTileOrStripWidth
private int getTileOrStripWidth()
-
getTileOrStripHeight
private int getTileOrStripHeight()
-
getPlanarConfiguration
private int getPlanarConfiguration()
-
getTileOrStripOffset
private long getTileOrStripOffset(int tileIndex) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
getTileOrStripByteCount
private long getTileOrStripByteCount(int tileIndex) throws java.io.IOException
- Throws:
java.io.IOException
-
getCompression
private int getCompression()
-
getWidth
public int getWidth(int imageIndex) throws java.io.IOException
- Specified by:
getWidth
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getHeight
public int getHeight(int imageIndex) throws java.io.IOException
- Specified by:
getHeight
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
initializeFromMetadata
private void initializeFromMetadata()
Initializes these instance variables from the image metadata:compression width height samplesPerPixel numBands colorMap photometricInterpretation sampleFormat bitsPerSample extraSamples tileOrStripWidth tileOrStripHeight
-
getImageTypes
public java.util.Iterator getImageTypes(int imageIndex) throws javax.imageio.IIOException
- Specified by:
getImageTypes
in classjavax.imageio.ImageReader
- Throws:
javax.imageio.IIOException
-
getImageMetadata
public javax.imageio.metadata.IIOMetadata getImageMetadata(int imageIndex) throws javax.imageio.IIOException
- Specified by:
getImageMetadata
in classjavax.imageio.ImageReader
- Throws:
javax.imageio.IIOException
-
getStreamMetadata
public javax.imageio.metadata.IIOMetadata getStreamMetadata(int imageIndex) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
isRandomAccessEasy
public boolean isRandomAccessEasy(int imageIndex) throws java.io.IOException
- Overrides:
isRandomAccessEasy
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
readSupportsThumbnails
public boolean readSupportsThumbnails()
-
hasThumbnails
public boolean hasThumbnails(int imageIndex)
- Overrides:
hasThumbnails
in classjavax.imageio.ImageReader
-
getNumThumbnails
public int getNumThumbnails(int imageIndex) throws java.io.IOException
- Overrides:
getNumThumbnails
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getDefaultReadParam
public javax.imageio.ImageReadParam getDefaultReadParam()
- Overrides:
getDefaultReadParam
in classjavax.imageio.ImageReader
-
isImageTiled
public boolean isImageTiled(int imageIndex) throws java.io.IOException
- Overrides:
isImageTiled
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getTileWidth
public int getTileWidth(int imageIndex) throws java.io.IOException
- Overrides:
getTileWidth
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
getTileHeight
public int getTileHeight(int imageIndex) throws java.io.IOException
- Overrides:
getTileHeight
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
readTile
public java.awt.image.BufferedImage readTile(int imageIndex, int tileX, int tileY) throws java.io.IOException
- Overrides:
readTile
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
canReadRaster
public boolean canReadRaster()
- Overrides:
canReadRaster
in classjavax.imageio.ImageReader
-
readRaster
public java.awt.image.Raster readRaster(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException
- Overrides:
readRaster
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
ifloor
private static int ifloor(int num, int den)
-
iceil
private static int iceil(int num, int den)
-
prepareRead
private void prepareRead(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException
- Throws:
java.io.IOException
-
readAsRenderedImage
public java.awt.image.RenderedImage readAsRenderedImage(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException
- Overrides:
readAsRenderedImage
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
decodeTile
private void decodeTile(int ti, int tj, int band) throws java.io.IOException
- Throws:
java.io.IOException
-
reportProgress
private void reportProgress()
-
read
public java.awt.image.BufferedImage read(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException
- Specified by:
read
in classjavax.imageio.ImageReader
- Throws:
java.io.IOException
-
reset
public void reset()
- Overrides:
reset
in classjavax.imageio.ImageReader
-
resetLocal
protected void resetLocal()
-
forwardWarningMessage
void forwardWarningMessage(java.lang.String warning)
Package scope method to allow decompressors, for example, to emit warning messages.
-
getDestination
protected static java.awt.image.BufferedImage getDestination(javax.imageio.ImageReadParam param, java.util.Iterator imageTypes, int width, int height) throws javax.imageio.IIOException
- Throws:
javax.imageio.IIOException
-
isLsb
protected boolean isLsb()
-
-