com.twelvemonkeys.imageio
Class ImageWriterBase

java.lang.Object
  extended by javax.imageio.ImageWriter
      extended by com.twelvemonkeys.imageio.ImageWriterBase
All Implemented Interfaces:
ImageTranscoder

public abstract class ImageWriterBase
extends 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
protected  ImageOutputStream imageOutput
          For convenience.
 
Fields inherited from class javax.imageio.ImageWriter
availableLocales, locale, originatingProvider, output, progressListeners, warningListeners, warningLocales
 
Constructor Summary
protected ImageWriterBase(ImageWriterSpi provider)
          Constructs an ImageWriter and sets its originatingProvider instance variable to the supplied value.
 
Method Summary
protected  void assertOutput()
          Makes sure output is set.
 IIOMetadata convertStreamMetadata(IIOMetadata inData, ImageWriteParam param)
          Returns null
protected static BufferedImage fakeAOI(BufferedImage pImage, ImageWriteParam pParam)
          Utility method for getting the area of interest (AOI) of an image.
protected static Image fakeSubsampling(Image pImage, ImageWriteParam pParam)
          Utility method for getting the subsampled image.
 IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
          Returns null
 String getFormatName()
           
protected static Rectangle getSourceRegion(ImageWriteParam pParam, int pWidth, int pHeight)
           
 void reset()
           
protected  void resetMembers()
           
 void setOutput(Object output)
           
 
Methods inherited from class javax.imageio.ImageWriter
abort, abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, canInsertEmpty, canInsertImage, canRemoveImage, canReplaceImageMetadata, canReplacePixels, canReplaceStreamMetadata, canWriteEmpty, canWriteRasters, canWriteSequence, clearAbortRequest, convertImageMetadata, dispose, 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 ImageOutputStream imageOutput
For convenience. Only set if the output is an ImageInputStream.

See Also:
setOutput(Object)
Constructor Detail

ImageWriterBase

protected ImageWriterBase(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 String getFormatName()
                     throws IOException
Throws:
IOException

setOutput

public void setOutput(Object output)
Overrides:
setOutput in class ImageWriter

assertOutput

protected void assertOutput()
Makes sure output is set.

Throws:
IllegalStateException - if getOutput() == null.

reset

public void reset()
Overrides:
reset in class ImageWriter

resetMembers

protected void resetMembers()

getDefaultStreamMetadata

public IIOMetadata getDefaultStreamMetadata(ImageWriteParam param)
Returns null

Specified by:
getDefaultStreamMetadata in class ImageWriter
Parameters:
param - ignored.
Returns:
null.

convertStreamMetadata

public IIOMetadata convertStreamMetadata(IIOMetadata inData,
                                         ImageWriteParam param)
Returns null

Specified by:
convertStreamMetadata in interface ImageTranscoder
Specified by:
convertStreamMetadata in class ImageWriter
Parameters:
inData - ignored.
param - ignored.
Returns:
null.

getSourceRegion

protected static Rectangle getSourceRegion(ImageWriteParam pParam,
                                           int pWidth,
                                           int pHeight)

fakeAOI

protected static BufferedImage fakeAOI(BufferedImage pImage,
                                       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 reader to read 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 Image fakeSubsampling(Image pImage,
                                       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 reader 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


Copyright © 2015. All Rights Reserved.