Class JPEGImageWriter
- java.lang.Object
-
- javax.imageio.ImageWriter
-
- com.twelvemonkeys.imageio.ImageWriterBase
-
- com.twelvemonkeys.imageio.plugins.jpeg.JPEGImageWriter
-
- All Implemented Interfaces:
javax.imageio.ImageTranscoder
public final class JPEGImageWriter extends ImageWriterBase
JPEGImageWriter- Version:
- $Id: JPEGImageWriter.java,v 1.0 06.02.12 16:39 haraldk Exp$
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JPEGImageWriter.InvertedRaster
Helper class, returns sample values inverted, as CMYK values needs to be written inverted (255 - value).private class
JPEGImageWriter.ProgressDelegator
-
Field Summary
Fields Modifier and Type Field Description private javax.imageio.ImageWriter
delegate
Our JPEG writing delegateprivate JPEGImageWriter.ProgressDelegator
progressDelegator
Listens to progress updates in the delegate, and delegates back to this instance-
Fields inherited from class com.twelvemonkeys.imageio.ImageWriterBase
imageOutput
-
-
Constructor Summary
Constructors Constructor Description JPEGImageWriter(JPEGImageWriterSpi provider, javax.imageio.ImageWriter delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
abort()
boolean
canInsertEmpty(int imageIndex)
boolean
canInsertImage(int imageIndex)
boolean
canRemoveImage(int imageIndex)
boolean
canReplaceImageMetadata(int imageIndex)
boolean
canReplacePixels(int imageIndex)
boolean
canReplaceStreamMetadata()
boolean
canWriteEmpty()
boolean
canWriteRasters()
boolean
canWriteSequence()
private javax.imageio.metadata.IIOMetadata
convertCMYKMetadata(javax.imageio.metadata.IIOMetadata original, javax.imageio.ImageTypeSpecifier destinationType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
convertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
convertStreamMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageWriteParam param)
Returnsnull
void
dispose()
void
endInsertEmpty()
void
endReplacePixels()
void
endWriteEmpty()
void
endWriteSequence()
java.util.Locale[]
getAvailableLocales()
javax.imageio.metadata.IIOMetadata
getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
javax.imageio.metadata.IIOMetadata
getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
Returnsnull
javax.imageio.ImageWriteParam
getDefaultWriteParam()
java.util.Locale
getLocale()
int
getNumThumbnailsSupported(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param, javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.metadata.IIOMetadata imageMetadata)
java.lang.Object
getOutput()
java.awt.Dimension[]
getPreferredThumbnailSizes(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param, javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.metadata.IIOMetadata imageMetadata)
private static java.awt.image.Raster
getRaster(java.awt.image.RenderedImage image)
private void
installListeners()
private boolean
isDestinationCMYK(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
void
prepareInsertEmpty(int imageIndex, javax.imageio.ImageTypeSpecifier imageType, int width, int height, javax.imageio.metadata.IIOMetadata imageMetadata, java.util.List<? extends java.awt.image.BufferedImage> thumbnails, javax.imageio.ImageWriteParam param)
void
prepareReplacePixels(int imageIndex, java.awt.Rectangle region)
void
prepareWriteEmpty(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.ImageTypeSpecifier imageType, int width, int height, javax.imageio.metadata.IIOMetadata imageMetadata, java.util.List<? extends java.awt.image.BufferedImage> thumbnails, javax.imageio.ImageWriteParam param)
void
prepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata)
void
removeImage(int imageIndex)
void
replaceImageMetadata(int imageIndex, javax.imageio.metadata.IIOMetadata imageMetadata)
void
replacePixels(java.awt.image.Raster raster, javax.imageio.ImageWriteParam param)
void
replacePixels(java.awt.image.RenderedImage image, javax.imageio.ImageWriteParam param)
void
replaceStreamMetadata(javax.imageio.metadata.IIOMetadata streamMetadata)
void
reset()
protected void
resetMembers()
void
setLocale(java.util.Locale locale)
void
setOutput(java.lang.Object output)
void
write(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
private void
writeCMYK(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
void
writeInsert(int imageIndex, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
void
writeToSequence(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
-
Methods inherited from class com.twelvemonkeys.imageio.ImageWriterBase
assertOutput, fakeAOI, fakeSubsampling, getFormatName, getSourceRegion
-
Methods inherited from class javax.imageio.ImageWriter
abortRequested, addIIOWriteProgressListener, addIIOWriteWarningListener, clearAbortRequest, getOriginatingProvider, processImageComplete, processImageProgress, processImageStarted, processThumbnailComplete, processThumbnailProgress, processThumbnailStarted, processWarningOccurred, processWarningOccurred, processWriteAborted, removeAllIIOWriteProgressListeners, removeAllIIOWriteWarningListeners, removeIIOWriteProgressListener, removeIIOWriteWarningListener, write, write
-
-
-
-
Field Detail
-
delegate
private final javax.imageio.ImageWriter delegate
Our JPEG writing delegate
-
progressDelegator
private final JPEGImageWriter.ProgressDelegator progressDelegator
Listens to progress updates in the delegate, and delegates back to this instance
-
-
Constructor Detail
-
JPEGImageWriter
public JPEGImageWriter(JPEGImageWriterSpi provider, javax.imageio.ImageWriter delegate)
-
-
Method Detail
-
installListeners
private void installListeners()
-
resetMembers
protected void resetMembers()
- Overrides:
resetMembers
in classImageWriterBase
-
setOutput
public void setOutput(java.lang.Object output)
- Overrides:
setOutput
in classImageWriterBase
-
getOutput
public java.lang.Object getOutput()
- Overrides:
getOutput
in classjavax.imageio.ImageWriter
-
getAvailableLocales
public java.util.Locale[] getAvailableLocales()
- Overrides:
getAvailableLocales
in classjavax.imageio.ImageWriter
-
setLocale
public void setLocale(java.util.Locale locale)
- Overrides:
setLocale
in classjavax.imageio.ImageWriter
-
getLocale
public java.util.Locale getLocale()
- Overrides:
getLocale
in classjavax.imageio.ImageWriter
-
getDefaultWriteParam
public javax.imageio.ImageWriteParam getDefaultWriteParam()
- Overrides:
getDefaultWriteParam
in classjavax.imageio.ImageWriter
-
getDefaultStreamMetadata
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam param)
Description copied from class:ImageWriterBase
Returnsnull
- Overrides:
getDefaultStreamMetadata
in classImageWriterBase
- Parameters:
param
- ignored.- Returns:
null
.
-
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)
Description copied from class:ImageWriterBase
Returnsnull
- Specified by:
convertStreamMetadata
in interfacejavax.imageio.ImageTranscoder
- Overrides:
convertStreamMetadata
in classImageWriterBase
- Parameters:
inData
- ignored.param
- ignored.- Returns:
null
.
-
convertImageMetadata
public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata inData, javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param)
- Specified by:
convertImageMetadata
in interfacejavax.imageio.ImageTranscoder
- Specified by:
convertImageMetadata
in classjavax.imageio.ImageWriter
-
getNumThumbnailsSupported
public int getNumThumbnailsSupported(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param, javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.metadata.IIOMetadata imageMetadata)
- Overrides:
getNumThumbnailsSupported
in classjavax.imageio.ImageWriter
-
getPreferredThumbnailSizes
public java.awt.Dimension[] getPreferredThumbnailSizes(javax.imageio.ImageTypeSpecifier imageType, javax.imageio.ImageWriteParam param, javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.metadata.IIOMetadata imageMetadata)
- Overrides:
getPreferredThumbnailSizes
in classjavax.imageio.ImageWriter
-
canWriteRasters
public boolean canWriteRasters()
- Overrides:
canWriteRasters
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
-
isDestinationCMYK
private boolean isDestinationCMYK(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param)
-
writeCMYK
private void writeCMYK(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Throws:
java.io.IOException
-
convertCMYKMetadata
private javax.imageio.metadata.IIOMetadata convertCMYKMetadata(javax.imageio.metadata.IIOMetadata original, javax.imageio.ImageTypeSpecifier destinationType, javax.imageio.ImageWriteParam param) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getRaster
private static java.awt.image.Raster getRaster(java.awt.image.RenderedImage image)
-
canWriteSequence
public boolean canWriteSequence()
- Overrides:
canWriteSequence
in classjavax.imageio.ImageWriter
-
prepareWriteSequence
public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata streamMetadata) throws java.io.IOException
- Overrides:
prepareWriteSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
writeToSequence
public void writeToSequence(javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
writeToSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
endWriteSequence
public void endWriteSequence() throws java.io.IOException
- Overrides:
endWriteSequence
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canReplaceStreamMetadata
public boolean canReplaceStreamMetadata() throws java.io.IOException
- Overrides:
canReplaceStreamMetadata
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
replaceStreamMetadata
public void replaceStreamMetadata(javax.imageio.metadata.IIOMetadata streamMetadata) throws java.io.IOException
- Overrides:
replaceStreamMetadata
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canReplaceImageMetadata
public boolean canReplaceImageMetadata(int imageIndex) throws java.io.IOException
- Overrides:
canReplaceImageMetadata
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
replaceImageMetadata
public void replaceImageMetadata(int imageIndex, javax.imageio.metadata.IIOMetadata imageMetadata) throws java.io.IOException
- Overrides:
replaceImageMetadata
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canInsertImage
public boolean canInsertImage(int imageIndex) throws java.io.IOException
- Overrides:
canInsertImage
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
writeInsert
public void writeInsert(int imageIndex, javax.imageio.IIOImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
writeInsert
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canRemoveImage
public boolean canRemoveImage(int imageIndex) throws java.io.IOException
- Overrides:
canRemoveImage
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
removeImage
public void removeImage(int imageIndex) throws java.io.IOException
- Overrides:
removeImage
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canWriteEmpty
public boolean canWriteEmpty() throws java.io.IOException
- Overrides:
canWriteEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
prepareWriteEmpty
public void prepareWriteEmpty(javax.imageio.metadata.IIOMetadata streamMetadata, javax.imageio.ImageTypeSpecifier imageType, int width, int height, javax.imageio.metadata.IIOMetadata imageMetadata, java.util.List<? extends java.awt.image.BufferedImage> thumbnails, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
prepareWriteEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
endWriteEmpty
public void endWriteEmpty() throws java.io.IOException
- Overrides:
endWriteEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canInsertEmpty
public boolean canInsertEmpty(int imageIndex) throws java.io.IOException
- Overrides:
canInsertEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
prepareInsertEmpty
public void prepareInsertEmpty(int imageIndex, javax.imageio.ImageTypeSpecifier imageType, int width, int height, javax.imageio.metadata.IIOMetadata imageMetadata, java.util.List<? extends java.awt.image.BufferedImage> thumbnails, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
prepareInsertEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
endInsertEmpty
public void endInsertEmpty() throws java.io.IOException
- Overrides:
endInsertEmpty
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
canReplacePixels
public boolean canReplacePixels(int imageIndex) throws java.io.IOException
- Overrides:
canReplacePixels
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
prepareReplacePixels
public void prepareReplacePixels(int imageIndex, java.awt.Rectangle region) throws java.io.IOException
- Overrides:
prepareReplacePixels
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
replacePixels
public void replacePixels(java.awt.image.RenderedImage image, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
replacePixels
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
replacePixels
public void replacePixels(java.awt.image.Raster raster, javax.imageio.ImageWriteParam param) throws java.io.IOException
- Overrides:
replacePixels
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
endReplacePixels
public void endReplacePixels() throws java.io.IOException
- Overrides:
endReplacePixels
in classjavax.imageio.ImageWriter
- Throws:
java.io.IOException
-
abort
public void abort()
- Overrides:
abort
in classjavax.imageio.ImageWriter
-
reset
public void reset()
- Overrides:
reset
in classImageWriterBase
-
dispose
public void dispose()
- Overrides:
dispose
in classImageWriterBase
-
-