Class ImageWriterBase

  • All Implemented Interfaces:
    javax.imageio.ImageTranscoder

    public abstract class ImageWriterBase
    extends javax.imageio.ImageWriter
    Abstract base class for image writers.
    Version:
    $Id: ImageWriterBase.java,v 1.0 Sep 24, 2007 12:22:28 AM haraldk Exp$
    Author:
    Harald Kuhr, last modified by $Author: haraldk$
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected javax.imageio.stream.ImageOutputStream imageOutput
      For convenience.
      • Fields inherited from class javax.imageio.ImageWriter

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

      Constructors 
      Modifier Constructor Description
      protected ImageWriterBase​(javax.imageio.spi.ImageWriterSpi provider)
      Constructs an ImageWriter and sets its originatingProvider instance variable to the supplied value.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void assertOutput()
      Makes sure output is set.
      javax.imageio.metadata.IIOMetadata convertStreamMetadata​(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
      Returns null
      void dispose()  
      protected static java.awt.image.BufferedImage fakeAOI​(java.awt.image.BufferedImage pImage, javax.imageio.ImageWriteParam pParam)
      Utility method for getting the area of interest (AOI) of an image.
      protected static java.awt.Image fakeSubsampling​(java.awt.Image pImage, javax.imageio.ImageWriteParam pParam)
      Utility method for getting the subsampled image.
      javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata​(javax.imageio.ImageWriteParam param)
      Returns null
      java.lang.String getFormatName()  
      protected static java.awt.Rectangle getSourceRegion​(javax.imageio.ImageWriteParam pParam, int pWidth, int pHeight)  
      void reset()  
      protected void resetMembers()  
      void setOutput​(java.lang.Object output)  
      • Methods inherited from class javax.imageio.ImageWriter

        abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteRasters, canWriteSequence, clearAbortRequest, convertImageMetadata, endInsertEmpty, endReplacePixels, endWriteEmpty, endWriteSequence, getAvailableLocales, getDefaultImageMetadata, getDefaultWriteParam, 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, write, writeInsert, writeToSequence
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • imageOutput

        protected javax.imageio.stream.ImageOutputStream imageOutput
        For convenience. Only set if the output is an ImageInputStream.
        See Also:
        setOutput(Object)
    • Constructor Detail

      • ImageWriterBase

        protected ImageWriterBase​(javax.imageio.spi.ImageWriterSpi provider)
        Constructs an ImageWriter and sets its originatingProvider instance variable to the supplied value.

        Subclasses that make use of extensions should provide a constructor with signature (ImageWriterSpi, Object) in order to retrieve the extension object. If the extension object is unsuitable, an IllegalArgumentException should be thrown.

        Parameters:
        provider - the ImageWriterSpi that is constructing this object, or null.
    • Method Detail

      • getFormatName

        public java.lang.String getFormatName()
                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • setOutput

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

        protected void assertOutput()
        Makes sure output is set.
        Throws:
        java.lang.IllegalStateException - if getOutput() == null.
      • dispose

        public void dispose()
        Overrides:
        dispose in class javax.imageio.ImageWriter
      • reset

        public void reset()
        Overrides:
        reset in class javax.imageio.ImageWriter
      • resetMembers

        protected void resetMembers()
      • getDefaultStreamMetadata

        public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata​(javax.imageio.ImageWriteParam param)
        Returns null
        Specified by:
        getDefaultStreamMetadata in class javax.imageio.ImageWriter
        Parameters:
        param - ignored.
        Returns:
        null.
      • convertStreamMetadata

        public javax.imageio.metadata.IIOMetadata convertStreamMetadata​(javax.imageio.metadata.IIOMetadata inData,
                                                                        javax.imageio.ImageWriteParam param)
        Returns null
        Specified by:
        convertStreamMetadata in interface javax.imageio.ImageTranscoder
        Specified by:
        convertStreamMetadata in class javax.imageio.ImageWriter
        Parameters:
        inData - ignored.
        param - ignored.
        Returns:
        null.
      • getSourceRegion

        protected static java.awt.Rectangle getSourceRegion​(javax.imageio.ImageWriteParam pParam,
                                                            int pWidth,
                                                            int pHeight)
      • fakeAOI

        protected static java.awt.image.BufferedImage fakeAOI​(java.awt.image.BufferedImage pImage,
                                                              javax.imageio.ImageWriteParam pParam)
        Utility method for getting the area of interest (AOI) of an image. The AOI is defined by the IIOParam.setSourceRegion(java.awt.Rectangle) method.

        Note: If it is possible for the writer to write the AOI directly, such a method should be used instead, for efficiency.

        Parameters:
        pImage - the image to get AOI from
        pParam - the param optionally specifying the AOI
        Returns:
        a BufferedImage containing the area of interest (source region), or the original image, if no source region was set, or pParam was null
      • fakeSubsampling

        protected static java.awt.Image fakeSubsampling​(java.awt.Image pImage,
                                                        javax.imageio.ImageWriteParam pParam)
        Utility method for getting the subsampled image. The subsampling is defined by the IIOParam.setSourceSubsampling(int, int, int, int) method.

        NOTE: This method does not take the subsampling offsets into consideration.

        Note: If it is possible for the writer to subsample directly, such a method should be used instead, for efficiency.

        Parameters:
        pImage - the image to subsample
        pParam - the param optionally specifying subsampling
        Returns:
        an Image containing the subsampled image, or the original image, if no subsampling was specified, or pParam was null