Package com.twelvemonkeys.imageio
Class ImageWriterBase
- java.lang.Object
-
- javax.imageio.ImageWriter
-
- com.twelvemonkeys.imageio.ImageWriterBase
-
- All Implemented Interfaces:
javax.imageio.ImageTranscoder
- Direct Known Subclasses:
DIBImageWriter
,ICNSImageWriter
,IFFImageWriter
,JPEGImageWriter
,PICTImageWriter
,PNMImageWriter
,PSDImageWriter
,TGAImageWriter
,TIFFImageWriter
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$
-
-
Field Summary
Fields Modifier and Type Field Description protected javax.imageio.stream.ImageOutputStream
imageOutput
For convenience.
-
Constructor Summary
Constructors Modifier Constructor Description protected
ImageWriterBase(javax.imageio.spi.ImageWriterSpi provider)
Constructs anImageWriter
and sets itsoriginatingProvider
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)
Returnsnull
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)
Returnsnull
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
-
-
-
-
Field Detail
-
imageOutput
protected javax.imageio.stream.ImageOutputStream imageOutput
For convenience. Only set if the output is anImageInputStream
.- See Also:
setOutput(Object)
-
-
Constructor Detail
-
ImageWriterBase
protected ImageWriterBase(javax.imageio.spi.ImageWriterSpi provider)
Constructs anImageWriter
and sets itsoriginatingProvider
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, anIllegalArgumentException
should be thrown.- Parameters:
provider
- theImageWriterSpi
that is constructing this object, ornull
.
-
-
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 classjavax.imageio.ImageWriter
-
assertOutput
protected void assertOutput()
Makes sure output is set.- Throws:
java.lang.IllegalStateException
- ifgetOutput() == null
.
-
dispose
public void dispose()
- Overrides:
dispose
in classjavax.imageio.ImageWriter
-
reset
public void reset()
- Overrides:
reset
in classjavax.imageio.ImageWriter
-
resetMembers
protected void resetMembers()
-
getDefaultStreamMetadata
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
Returnsnull
- Specified by:
getDefaultStreamMetadata
in classjavax.imageio.ImageWriter
- Parameters:
param
- ignored.- Returns:
null
.
-
convertStreamMetadata
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
Returnsnull
- Specified by:
convertStreamMetadata
in interfacejavax.imageio.ImageTranscoder
- Specified by:
convertStreamMetadata
in classjavax.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 theIIOParam.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 frompParam
- 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, orpParam
wasnull
-
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 theIIOParam.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 subsamplepParam
- the param optionally specifying subsampling- Returns:
- an
Image
containing the subsampled image, or the original image, if no subsampling was specified, orpParam
wasnull
-
-