Class RawImageWriter
- java.lang.Object
-
- javax.imageio.ImageWriter
-
- com.github.jaiimageio.impl.plugins.raw.RawImageWriter
-
- All Implemented Interfaces:
javax.imageio.ImageTranscoder
public class RawImageWriter extends javax.imageio.ImageWriterThe Java Image IO plugin writer for encoding a binary RenderedImage into a Raw format.The encoding process may clip, subsample or select bands using the parameters specified in the
ImageWriteParam. Thus, when read this raw image the proper image data type should be provided.- See Also:
com.github.jaiimageio.plugins.RawImageWriteParam
-
-
Field Summary
Fields Modifier and Type Field Description private intbandStrideThe strides for pixel, band, and scanline.private java.awt.RectangledestinationRegionprivate intimageIndexThe image index in this stream.private java.awt.image.RenderedImageinputThe source raster if write raster.private java.awt.image.RasterinputRasterThe input source raster.private intlineStrideThe strides for pixel, band, and scanline.private booleannoSubbandprivate booleannoTransformCoordinate transform or sub selection is needed before encoding.private intnumBandsThe number of components in the imageprivate booleanoptimalWhether can write optimally.private intpxlStrideThe strides for pixel, band, and scanline.private java.awt.image.SampleModelsampleModelprivate intscaleXThe source -> destination transformationprivate intscaleYThe source -> destination transformationprivate int[]sourceBandsThe source bands to be encoded.private javax.imageio.stream.ImageOutputStreamstreamThe output stream to write intoprivate inttileHeightThe tile height for encodingprivate inttileWidthThe tile width for encodingprivate inttileXOffsetThe tile grid offset for encodingprivate inttileYOffsetThe tile grid offset for encodingprivate booleanwriteRasterIndicates arasterrather than aRenderedImageto be encoded.private intxOffsetThe source -> destination transformationprivate intyOffsetThe source -> destination transformation
-
Constructor Summary
Constructors Constructor Description RawImageWriter(javax.imageio.spi.ImageWriterSpi originator)ConstructsRawImageWriterbased on the providedImageWriterSpi.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancanWriteRasters()javax.imageio.metadata.IIOMetadataconvertImageMetadata(javax.imageio.metadata.IIOMetadata metadata, javax.imageio.ImageTypeSpecifier type, javax.imageio.ImageWriteParam param)javax.imageio.metadata.IIOMetadataconvertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)javax.imageio.metadata.IIOMetadatagetDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)javax.imageio.metadata.IIOMetadatagetDefaultStreamMetadata(javax.imageio.ImageWriteParam param)javax.imageio.ImageWriteParamgetDefaultWriteParam()intgetHeight()private intgetMaxTileX()private intgetMaxTileY()private intgetMinTileX()private intgetMinTileY()private java.awt.image.RastergetTile(int tileX, int tileY)intgetWidth()private intmapToSourceX(int x)private intmapToSourceY(int y)voidreset()voidsetOutput(java.lang.Object output)private static intToTile(int pos, int tileOffset, int tileSize)voidwrite(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)private voidwriteRaster(java.awt.image.Raster raster)-
Methods inherited from class javax.imageio.ImageWriter
abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteSequence, clearAbortRequest, dispose, endInsertEmpty, endReplacePixels, endWriteEmpty, endWriteSequence, getAvailableLocales, getLocale, getNumThumbnailsSupported, getOriginatingProvider, getOutput, getPreferredThumbnailSizes, prepareInsertEmpty, prepareReplacePixels, prepareWriteEmpty, prepareWriteSequence, processImageComplete, processImageProgress, processImageStarted, processThumbnailComplete, processThumbnailProgress, processThumbnailStarted, processWarningOccurred, processWarningOccurred, processWriteAborted, removeAllIIOWriteProgressListeners, removeAllIIOWriteWarningListeners, removeIIOWriteProgressListener, removeIIOWriteWarningListener, removeImage, replaceImageMetadata, replacePixels, replacePixels, replaceStreamMetadata, setLocale, write, write, writeInsert, writeToSequence
-
-
-
-
Field Detail
-
stream
private javax.imageio.stream.ImageOutputStream stream
The output stream to write into
-
imageIndex
private int imageIndex
The image index in this stream.
-
tileWidth
private int tileWidth
The tile width for encoding
-
tileHeight
private int tileHeight
The tile height for encoding
-
tileXOffset
private int tileXOffset
The tile grid offset for encoding
-
tileYOffset
private int tileYOffset
The tile grid offset for encoding
-
scaleX
private int scaleX
The source -> destination transformation
-
scaleY
private int scaleY
The source -> destination transformation
-
xOffset
private int xOffset
The source -> destination transformation
-
yOffset
private int yOffset
The source -> destination transformation
-
sourceBands
private int[] sourceBands
The source bands to be encoded.
-
numBands
private int numBands
The number of components in the image
-
input
private java.awt.image.RenderedImage input
The source raster if write raster.
-
inputRaster
private java.awt.image.Raster inputRaster
The input source raster.
-
destinationRegion
private java.awt.Rectangle destinationRegion
-
sampleModel
private java.awt.image.SampleModel sampleModel
-
noTransform
private boolean noTransform
Coordinate transform or sub selection is needed before encoding.
-
noSubband
private boolean noSubband
-
writeRaster
private boolean writeRaster
Indicates arasterrather than aRenderedImageto be encoded.
-
optimal
private boolean optimal
Whether can write optimally.
-
pxlStride
private int pxlStride
The strides for pixel, band, and scanline.
-
lineStride
private int lineStride
The strides for pixel, band, and scanline.
-
bandStride
private int bandStride
The strides for pixel, band, and scanline.
-
-
Method Detail
-
setOutput
public void setOutput(java.lang.Object output)
- Overrides:
setOutputin classjavax.imageio.ImageWriter
-
getDefaultStreamMetadata
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
- Specified by:
getDefaultStreamMetadatain classjavax.imageio.ImageWriter
-
getDefaultImageMetadata
public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)- Specified by:
getDefaultImageMetadatain classjavax.imageio.ImageWriter
-
convertStreamMetadata
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)- Specified by:
convertStreamMetadatain interfacejavax.imageio.ImageTranscoder- Specified by:
convertStreamMetadatain classjavax.imageio.ImageWriter
-
convertImageMetadata
public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata metadata, javax.imageio.ImageTypeSpecifier type, javax.imageio.ImageWriteParam param)- Specified by:
convertImageMetadatain interfacejavax.imageio.ImageTranscoder- Specified by:
convertImageMetadatain classjavax.imageio.ImageWriter
-
canWriteRasters
public boolean canWriteRasters()
- Overrides:
canWriteRastersin classjavax.imageio.ImageWriter
-
getDefaultWriteParam
public javax.imageio.ImageWriteParam getDefaultWriteParam()
- Overrides:
getDefaultWriteParamin classjavax.imageio.ImageWriter
-
write
public void write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException- Specified by:
writein classjavax.imageio.ImageWriter- Throws:
java.io.IOException
-
getWidth
public int getWidth()
-
getHeight
public int getHeight()
-
writeRaster
private void writeRaster(java.awt.image.Raster raster) throws java.io.IOException- Throws:
java.io.IOException
-
getTile
private java.awt.image.Raster getTile(int tileX, int tileY)
-
mapToSourceX
private int mapToSourceX(int x)
-
mapToSourceY
private int mapToSourceY(int y)
-
getMinTileX
private int getMinTileX()
-
getMaxTileX
private int getMaxTileX()
-
getMinTileY
private int getMinTileY()
-
getMaxTileY
private int getMaxTileY()
-
ToTile
private static int ToTile(int pos, int tileOffset, int tileSize)
-
reset
public void reset()
- Overrides:
resetin classjavax.imageio.ImageWriter
-
-