Class BMPImageReader
- java.lang.Object
-
- javax.imageio.ImageReader
-
- com.twelvemonkeys.imageio.ImageReaderBase
-
- com.twelvemonkeys.imageio.plugins.bmp.BMPImageReader
-
public final class BMPImageReader extends ImageReaderBase
ImageReader for Microsoft Windows Bitmap (BMP) format.- Version:
- $Id: BMPImageReader.java,v 1.0 Apr 20, 2009 11:54:28 AM haraldk Exp$
- See Also:
ICOImageReader
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classBMPImageReader.ListenerDelegator
-
Field Summary
Fields Modifier and Type Field Description private java.awt.image.IndexColorModelcolorMapprivate int[]colorsprivate DIBHeaderheaderprivate javax.imageio.ImageReaderjpegReaderDelegateprivate longpixelOffsetprivate javax.imageio.ImageReaderpngReaderDelegate-
Fields inherited from class com.twelvemonkeys.imageio.ImageReaderBase
imageInput
-
-
Constructor Summary
Constructors Constructor Description BMPImageReader()BMPImageReader(javax.imageio.spi.ImageReaderSpi provider)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.awt.image.RasterclipRowToRect(java.awt.image.Raster raster, java.awt.Rectangle rect, int[] bands, int xSub)private java.awt.image.WritableRasterclipToRect(java.awt.image.WritableRaster raster, java.awt.Rectangle rect, int[] bands)private int[]createOffsets(int numBands)intgetHeight(int imageIndex)javax.imageio.metadata.IIOMetadatagetImageMetadata(int imageIndex)Default implementation that always returnsnull.private javax.imageio.ImageReadergetImageReaderDelegate(int compression)java.util.Iterator<javax.imageio.ImageTypeSpecifier>getImageTypes(int imageIndex)intgetNumImages(boolean allowSearch)Default implementation that always returns1.javax.imageio.ImageTypeSpecifiergetRawImageType(int imageIndex)intgetWidth(int imageIndex)private javax.imageio.ImageReaderinitReaderDelegate(int compression)static voidmain(java.lang.String[] args)java.awt.image.BufferedImageread(int imageIndex, javax.imageio.ImageReadParam param)private java.awt.image.IndexColorModelreadColorMap()private static voidreadFully(java.io.DataInput input, int[] ints)private static voidreadFully(java.io.DataInput input, short[] shorts)private voidreadHeader()private voidreadRowByte(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, int bitsPerSample, int samplesPerPixel, byte[] rowDataByte, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y)private voidreadRowInt(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, int[] rowDataInt, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y)private voidreadRowUShort(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, short[] rowDataUShort, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y)private java.awt.image.BufferedImagereadUsingDelegate(int compression, javax.imageio.ImageReadParam param)protected voidresetMembers()Resets all member variables.(package private) static <T extends java.lang.Throwable>
voidthrowAs(java.lang.Class<T> type, java.lang.Throwable throwable)-
Methods inherited from class com.twelvemonkeys.imageio.ImageReaderBase
assertInput, checkBounds, dispose, fakeAOI, fakeSubsampling, getDestination, getStreamMetadata, hasExplicitDestination, reset, setInput, showIt
-
Methods inherited from class javax.imageio.ImageReader
abort, abortRequested, addIIOReadProgressListener, addIIOReadUpdateListener, addIIOReadWarningListener, canReadRaster, checkReadParamBandSettings, clearAbortRequest, computeRegions, getAspectRatio, getAvailableLocales, getDefaultReadParam, getFormatName, getImageMetadata, getInput, getLocale, getMinIndex, getNumThumbnails, getOriginatingProvider, getSourceRegion, getStreamMetadata, getThumbnailHeight, getThumbnailWidth, getTileGridXOffset, getTileGridYOffset, getTileHeight, getTileWidth, hasThumbnails, isIgnoringMetadata, isImageTiled, isRandomAccessEasy, isSeekForwardOnly, processImageComplete, processImageProgress, processImageStarted, processImageUpdate, processPassComplete, processPassStarted, processReadAborted, processSequenceComplete, processSequenceStarted, processThumbnailComplete, processThumbnailPassComplete, processThumbnailPassStarted, processThumbnailProgress, processThumbnailStarted, processThumbnailUpdate, processWarningOccurred, processWarningOccurred, read, readAll, readAll, readAsRenderedImage, readerSupportsThumbnails, readRaster, readThumbnail, readTile, readTileRaster, removeAllIIOReadProgressListeners, removeAllIIOReadUpdateListeners, removeAllIIOReadWarningListeners, removeIIOReadProgressListener, removeIIOReadUpdateListener, removeIIOReadWarningListener, setInput, setInput, setLocale
-
-
-
-
Field Detail
-
pixelOffset
private long pixelOffset
-
header
private DIBHeader header
-
colors
private int[] colors
-
colorMap
private java.awt.image.IndexColorModel colorMap
-
jpegReaderDelegate
private javax.imageio.ImageReader jpegReaderDelegate
-
pngReaderDelegate
private javax.imageio.ImageReader pngReaderDelegate
-
-
Method Detail
-
resetMembers
protected void resetMembers()
Description copied from class:ImageReaderBaseResets all member variables. This method is by default invoked from:- Specified by:
resetMembersin classImageReaderBase
-
getNumImages
public int getNumImages(boolean allowSearch) throws java.io.IOExceptionDescription copied from class:ImageReaderBaseDefault implementation that always returns1.- Overrides:
getNumImagesin classImageReaderBase- Parameters:
allowSearch- ignored, unless overridden- Returns:
1, unless overridden- Throws:
java.io.IOException- never, unless overridden
-
readHeader
private void readHeader() throws java.io.IOException- Throws:
java.io.IOException
-
readColorMap
private java.awt.image.IndexColorModel readColorMap() throws java.io.IOException- Throws:
java.io.IOException
-
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
-
getImageTypes
public java.util.Iterator<javax.imageio.ImageTypeSpecifier> getImageTypes(int imageIndex) throws java.io.IOException- Specified by:
getImageTypesin classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
getRawImageType
public javax.imageio.ImageTypeSpecifier getRawImageType(int imageIndex) throws java.io.IOException- Overrides:
getRawImageTypein classjavax.imageio.ImageReader- Throws:
java.io.IOException
-
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
-
readUsingDelegate
private java.awt.image.BufferedImage readUsingDelegate(int compression, javax.imageio.ImageReadParam param) throws java.io.IOException- Throws:
java.io.IOException
-
initReaderDelegate
private javax.imageio.ImageReader initReaderDelegate(int compression) throws java.io.IOException- Throws:
java.io.IOException
-
getImageReaderDelegate
private javax.imageio.ImageReader getImageReaderDelegate(int compression) throws javax.imageio.IIOException- Throws:
javax.imageio.IIOException
-
createOffsets
private int[] createOffsets(int numBands)
-
readRowByte
private void readRowByte(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, int bitsPerSample, int samplesPerPixel, byte[] rowDataByte, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y) throws java.io.IOException- Throws:
java.io.IOException
-
readRowUShort
private void readRowUShort(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, short[] rowDataUShort, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y) throws java.io.IOException- Throws:
java.io.IOException
-
readRowInt
private void readRowInt(java.io.DataInput input, int height, java.awt.Rectangle srcRegion, int xSub, int ySub, int[] rowDataInt, java.awt.image.WritableRaster destChannel, java.awt.image.Raster srcChannel, int y) throws java.io.IOException- Throws:
java.io.IOException
-
readFully
private static void readFully(java.io.DataInput input, short[] shorts) throws java.io.IOException- Throws:
java.io.IOException
-
readFully
private static void readFully(java.io.DataInput input, int[] ints) throws java.io.IOException- Throws:
java.io.IOException
-
clipRowToRect
private java.awt.image.Raster clipRowToRect(java.awt.image.Raster raster, java.awt.Rectangle rect, int[] bands, int xSub)
-
clipToRect
private java.awt.image.WritableRaster clipToRect(java.awt.image.WritableRaster raster, java.awt.Rectangle rect, int[] bands)
-
getImageMetadata
public javax.imageio.metadata.IIOMetadata getImageMetadata(int imageIndex) throws java.io.IOExceptionDescription copied from class:ImageReaderBaseDefault implementation that always returnsnull.- Overrides:
getImageMetadatain classImageReaderBase- Parameters:
imageIndex- ignored, unless overridden- Returns:
null, unless overridden- Throws:
java.io.IOException- never, unless overridden.
-
main
public static void main(java.lang.String[] args)
-
throwAs
static <T extends java.lang.Throwable> void throwAs(java.lang.Class<T> type, java.lang.Throwable throwable) throws T extends java.lang.Throwable- Throws:
T extends java.lang.Throwable
-
-