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.ImageWriter
The 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 int
bandStride
The strides for pixel, band, and scanline.private java.awt.Rectangle
destinationRegion
private int
imageIndex
The image index in this stream.private java.awt.image.RenderedImage
input
The source raster if write raster.private java.awt.image.Raster
inputRaster
The input source raster.private int
lineStride
The strides for pixel, band, and scanline.private boolean
noSubband
private boolean
noTransform
Coordinate transform or sub selection is needed before encoding.private int
numBands
The number of components in the imageprivate boolean
optimal
Whether can write optimally.private int
pxlStride
The strides for pixel, band, and scanline.private java.awt.image.SampleModel
sampleModel
private int
scaleX
The source -> destination transformationprivate int
scaleY
The source -> destination transformationprivate int[]
sourceBands
The source bands to be encoded.private javax.imageio.stream.ImageOutputStream
stream
The output stream to write intoprivate int
tileHeight
The tile height for encodingprivate int
tileWidth
The tile width for encodingprivate int
tileXOffset
The tile grid offset for encodingprivate int
tileYOffset
The tile grid offset for encodingprivate boolean
writeRaster
Indicates araster
rather than aRenderedImage
to be encoded.private int
xOffset
The source -> destination transformationprivate int
yOffset
The source -> destination transformation
-
Constructor Summary
Constructors Constructor Description RawImageWriter(javax.imageio.spi.ImageWriterSpi originator)
ConstructsRawImageWriter
based on the providedImageWriterSpi
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
canWriteRasters()
javax.imageio.metadata.IIOMetadata
convertImageMetadata(javax.imageio.metadata.IIOMetadata metadata, javax.imageio.ImageTypeSpecifier type, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
javax.imageio.ImageWriteParam
getDefaultWriteParam()
int
getHeight()
private int
getMaxTileX()
private int
getMaxTileY()
private int
getMinTileX()
private int
getMinTileY()
private java.awt.image.Raster
getTile(int tileX, int tileY)
int
getWidth()
private int
mapToSourceX(int x)
private int
mapToSourceY(int y)
void
reset()
void
setOutput(java.lang.Object output)
private static int
ToTile(int pos, int tileOffset, int tileSize)
void
write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
private void
writeRaster(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 araster
rather than aRenderedImage
to 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:
setOutput
in classjavax.imageio.ImageWriter
-
getDefaultStreamMetadata
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
- Specified by:
getDefaultStreamMetadata
in classjavax.imageio.ImageWriter
-
getDefaultImageMetadata
public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
- Specified by:
getDefaultImageMetadata
in classjavax.imageio.ImageWriter
-
convertStreamMetadata
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
- Specified by:
convertStreamMetadata
in interfacejavax.imageio.ImageTranscoder
- Specified by:
convertStreamMetadata
in 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:
convertImageMetadata
in interfacejavax.imageio.ImageTranscoder
- Specified by:
convertImageMetadata
in classjavax.imageio.ImageWriter
-
canWriteRasters
public boolean canWriteRasters()
- Overrides:
canWriteRasters
in classjavax.imageio.ImageWriter
-
getDefaultWriteParam
public javax.imageio.ImageWriteParam getDefaultWriteParam()
- Overrides:
getDefaultWriteParam
in 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:
write
in 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:
reset
in classjavax.imageio.ImageWriter
-
-