Class 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 image
      private 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 transformation
      private int scaleY
      The source -> destination transformation
      private int[] sourceBands
      The source bands to be encoded.
      private javax.imageio.stream.ImageOutputStream stream
      The output stream to write into
      private int tileHeight
      The tile height for encoding
      private int tileWidth
      The tile width for encoding
      private int tileXOffset
      The tile grid offset for encoding
      private int tileYOffset
      The tile grid offset for encoding
      private boolean writeRaster
      Indicates a raster rather than a RenderedImage to be encoded.
      private int xOffset
      The source -> destination transformation
      private int yOffset
      The source -> destination transformation
      • Fields inherited from class javax.imageio.ImageWriter

        availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales
    • Constructor Summary

      Constructors 
      Constructor Description
      RawImageWriter​(javax.imageio.spi.ImageWriterSpi originator)
      Constructs RawImageWriter based on the provided ImageWriterSpi.
    • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 a raster rather than a RenderedImage 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.
    • Constructor Detail

      • RawImageWriter

        public RawImageWriter​(javax.imageio.spi.ImageWriterSpi originator)
        Constructs RawImageWriter based on the provided ImageWriterSpi.
    • Method Detail

      • setOutput

        public void setOutput​(java.lang.Object output)
        Overrides:
        setOutput in class javax.imageio.ImageWriter
      • getDefaultStreamMetadata

        public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata​(javax.imageio.ImageWriteParam param)
        Specified by:
        getDefaultStreamMetadata in class javax.imageio.ImageWriter
      • getDefaultImageMetadata

        public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata​(javax.imageio.ImageTypeSpecifier imageType,
                                                                          javax.imageio.ImageWriteParam param)
        Specified by:
        getDefaultImageMetadata in class javax.imageio.ImageWriter
      • convertStreamMetadata

        public javax.imageio.metadata.IIOMetadata convertStreamMetadata​(javax.imageio.metadata.IIOMetadata inData,
                                                                        javax.imageio.ImageWriteParam param)
        Specified by:
        convertStreamMetadata in interface javax.imageio.ImageTranscoder
        Specified by:
        convertStreamMetadata in class javax.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 interface javax.imageio.ImageTranscoder
        Specified by:
        convertImageMetadata in class javax.imageio.ImageWriter
      • canWriteRasters

        public boolean canWriteRasters()
        Overrides:
        canWriteRasters in class javax.imageio.ImageWriter
      • getDefaultWriteParam

        public javax.imageio.ImageWriteParam getDefaultWriteParam()
        Overrides:
        getDefaultWriteParam in class javax.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 class javax.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 class javax.imageio.ImageWriter