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) intcompression(package private) intcurrIndexprivate static booleanDEBUGprivate TIFFDecompressordecompressorprivate int[]destinationBands(package private) intdstHeight(package private) intdstMinX(package private) intdstMinY(package private) intdstWidth(package private) intdstXOffset(package private) intdstYOffset(package private) int[]extraSamples(package private) booleangotHeader(package private) intheight(package private) TIFFImageMetadataimageMetadata(package private) javax.imageio.ImageReadParamimageReadParam(package private) java.util.ListimageStartPosition(package private) java.util.HashMapimageTypeMap(package private) intnumBands(package private) intnumImages(package private) intphotometricInterpretation(package private) intpixelsRead(package private) intpixelsToRead(package private) intplanarConfiguration(package private) introwsDone(package private) int[]sampleFormat(package private) intsamplesPerPixelprivate int[]sourceBands(package private) intsourceXOffset(package private) intsourceYOffset(package private) intsrcXSubsampling(package private) intsrcYSubsampling(package private) javax.imageio.stream.ImageInputStreamstream(package private) TIFFStreamMetadatastreamMetadata(package private) java.awt.image.BufferedImagetheImage(package private) inttileOrStripHeight(package private) inttileOrStripWidth(package private) inttilesAcross(package private) inttilesDown(package private) intwidth
-
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 booleancanReadRaster()private voidcheckIndex(int imageIndex)private voiddecodeTile(int ti, int tj, int band)(package private) voidforwardWarningMessage(java.lang.String warning)Package scope method to allow decompressors, for example, to emit warning messages.private intgetCompression()javax.imageio.ImageReadParamgetDefaultReadParam()protected static java.awt.image.BufferedImagegetDestination(javax.imageio.ImageReadParam param, java.util.Iterator imageTypes, int width, int height)private intgetHeight()intgetHeight(int imageIndex)javax.imageio.metadata.IIOMetadatagetImageMetadata(int imageIndex)java.util.IteratorgetImageTypes(int imageIndex)private intgetNumBands()intgetNumImages(boolean allowSearch)intgetNumThumbnails(int imageIndex)private intgetPlanarConfiguration()javax.imageio.metadata.IIOMetadatagetStreamMetadata()javax.imageio.metadata.IIOMetadatagetStreamMetadata(int imageIndex)intgetTileHeight(int imageIndex)private longgetTileOrStripByteCount(int tileIndex)private intgetTileOrStripHeight()private longgetTileOrStripOffset(int tileIndex)private intgetTileOrStripWidth()intgetTileWidth(int imageIndex)private intgetWidth()intgetWidth(int imageIndex)booleanhasThumbnails(int imageIndex)private static inticeil(int num, int den)private static intifloor(int num, int den)private voidinitializeFromMetadata()Initializes these instance variables from the image metadata:booleanisImageTiled(int imageIndex)protected booleanisLsb()booleanisRandomAccessEasy(int imageIndex)private intlocateImage(int imageIndex)private voidprepareRead(int imageIndex, javax.imageio.ImageReadParam param)java.awt.image.BufferedImageread(int imageIndex, javax.imageio.ImageReadParam param)java.awt.image.RenderedImagereadAsRenderedImage(int imageIndex, javax.imageio.ImageReadParam param)private voidreadHeader()private voidreadMetadata()java.awt.image.RasterreadRaster(int imageIndex, javax.imageio.ImageReadParam param)booleanreadSupportsThumbnails()java.awt.image.BufferedImagereadTile(int imageIndex, int tileX, int tileY)private voidreportProgress()voidreset()protected voidresetLocal()private voidseekToImage(int imageIndex)voidsetInput(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:
setInputin 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:
getNumImagesin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getStreamMetadata
public javax.imageio.metadata.IIOMetadata getStreamMetadata() throws javax.imageio.IIOException- Specified by:
getStreamMetadatain 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:
getWidthin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getHeight
public int getHeight(int imageIndex) throws java.io.IOException- Specified by:
getHeightin 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:
getImageTypesin classjavax.imageio.ImageReader- Throws:
javax.imageio.IIOException
-
getImageMetadata
public javax.imageio.metadata.IIOMetadata getImageMetadata(int imageIndex) throws javax.imageio.IIOException- Specified by:
getImageMetadatain 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:
isRandomAccessEasyin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
readSupportsThumbnails
public boolean readSupportsThumbnails()
-
hasThumbnails
public boolean hasThumbnails(int imageIndex)
- Overrides:
hasThumbnailsin classjavax.imageio.ImageReader
-
getNumThumbnails
public int getNumThumbnails(int imageIndex) throws java.io.IOException- Overrides:
getNumThumbnailsin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getDefaultReadParam
public javax.imageio.ImageReadParam getDefaultReadParam()
- Overrides:
getDefaultReadParamin classjavax.imageio.ImageReader
-
isImageTiled
public boolean isImageTiled(int imageIndex) throws java.io.IOException- Overrides:
isImageTiledin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getTileWidth
public int getTileWidth(int imageIndex) throws java.io.IOException- Overrides:
getTileWidthin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getTileHeight
public int getTileHeight(int imageIndex) throws java.io.IOException- Overrides:
getTileHeightin 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:
readTilein classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
canReadRaster
public boolean canReadRaster()
- Overrides:
canReadRasterin classjavax.imageio.ImageReader
-
readRaster
public java.awt.image.Raster readRaster(int imageIndex, javax.imageio.ImageReadParam param) throws java.io.IOException- Overrides:
readRasterin 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:
readAsRenderedImagein 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:
readin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
reset
public void reset()
- Overrides:
resetin 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()
-
-