Class ImageIOImageWriter
- java.lang.Object
-
- org.apache.xmlgraphics.image.writer.imageio.ImageIOImageWriter
-
- All Implemented Interfaces:
java.util.EventListener
,javax.imageio.event.IIOWriteWarningListener
,ImageWriter
- Direct Known Subclasses:
ImageIOJPEGImageWriter
,ImageIOPNGImageWriter
,ImageIOTIFFImageWriter
public class ImageIOImageWriter extends java.lang.Object implements ImageWriter, javax.imageio.event.IIOWriteWarningListener
ImageWriter implementation that uses Image I/O to write images.- Version:
- $Id: ImageIOImageWriter.java 1732018 2016-02-24 04:51:06Z gadams $
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private class
ImageIOImageWriter.IIOMultiImageWriter
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
DIMENSION
private static java.lang.String
HORIZONTAL_PIXEL_SIZE
private static java.lang.String
STANDARD_METADATA_FORMAT
private java.lang.String
targetMIME
private static java.lang.String
VERTICAL_PIXEL_SIZE
-
Constructor Summary
Constructors Constructor Description ImageIOImageWriter(java.lang.String mime)
Main constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiImageWriter
createMultiImageWriter(java.io.OutputStream out)
Creates a MultiImageWriter instance that lets you put multiple pages into a single file if the format supports it.protected javax.imageio.metadata.IIOMetadata
createStreamMetadata(javax.imageio.ImageWriter writer, javax.imageio.ImageWriteParam writeParam, ImageWriterParams params)
Creates the stream metadata for image.private static boolean
equals(double d1, double d2, double maxDelta)
protected static javax.imageio.metadata.IIOMetadataNode
getChildNode(org.w3c.dom.Node n, java.lang.String name)
Returns a specific metadata child nodeprotected javax.imageio.ImageWriteParam
getDefaultWriteParam(javax.imageio.ImageWriter iiowriter, java.awt.image.RenderedImage image, ImageWriterParams params)
Returns the default write parameters for encoding the image.private double
getHorizontalPixelSize(javax.imageio.metadata.IIOMetadata meta)
private javax.imageio.ImageWriter
getIIOImageWriter()
java.lang.String
getMIMEType()
boolean
isFunctional()
boolean
supportsMultiImageWriter()
protected javax.imageio.metadata.IIOMetadata
updateMetadata(java.awt.image.RenderedImage image, javax.imageio.metadata.IIOMetadata meta, ImageWriterParams params)
Updates the metadata information based on the parameters to this writer.private void
updatePixelSize(javax.imageio.metadata.IIOMetadata meta, double horzValue, double vertValue)
void
warningOccurred(javax.imageio.ImageWriter source, int imageIndex, java.lang.String warning)
void
writeImage(java.awt.image.RenderedImage image, java.io.OutputStream out)
Encodes an image and writes it to an OutputStream.void
writeImage(java.awt.image.RenderedImage image, java.io.OutputStream out, ImageWriterParams params)
Encodes an image and writes it to an OutputStream.
-
-
-
Field Detail
-
DIMENSION
private static final java.lang.String DIMENSION
- See Also:
- Constant Field Values
-
VERTICAL_PIXEL_SIZE
private static final java.lang.String VERTICAL_PIXEL_SIZE
- See Also:
- Constant Field Values
-
HORIZONTAL_PIXEL_SIZE
private static final java.lang.String HORIZONTAL_PIXEL_SIZE
- See Also:
- Constant Field Values
-
STANDARD_METADATA_FORMAT
private static final java.lang.String STANDARD_METADATA_FORMAT
- See Also:
- Constant Field Values
-
targetMIME
private java.lang.String targetMIME
-
-
Method Detail
-
writeImage
public void writeImage(java.awt.image.RenderedImage image, java.io.OutputStream out) throws java.io.IOException
Encodes an image and writes it to an OutputStream.- Specified by:
writeImage
in interfaceImageWriter
- Parameters:
image
- the image to be encodedout
- the OutputStream to write to- Throws:
java.io.IOException
- In case of an /IO problem
-
writeImage
public void writeImage(java.awt.image.RenderedImage image, java.io.OutputStream out, ImageWriterParams params) throws java.io.IOException
Encodes an image and writes it to an OutputStream.- Specified by:
writeImage
in interfaceImageWriter
- Parameters:
image
- the image to be encodedout
- the OutputStream to write toparams
- a parameters object to customize the encoding.- Throws:
java.io.IOException
- In case of an /IO problem
-
createStreamMetadata
protected javax.imageio.metadata.IIOMetadata createStreamMetadata(javax.imageio.ImageWriter writer, javax.imageio.ImageWriteParam writeParam, ImageWriterParams params)
Creates the stream metadata for image. By default, this method returns null which causes the default stream metadata to be used. Subclasses can override this to supply special stream metadata (see TIFF for an example).- Parameters:
writer
- the image writewriteParam
- the ImageIO write parametersparams
- the ImageWriter write parameters- Returns:
- the stream metadata (or null if no special metadata needs to be produced)
-
getIIOImageWriter
private javax.imageio.ImageWriter getIIOImageWriter()
-
getDefaultWriteParam
protected javax.imageio.ImageWriteParam getDefaultWriteParam(javax.imageio.ImageWriter iiowriter, java.awt.image.RenderedImage image, ImageWriterParams params)
Returns the default write parameters for encoding the image.- Parameters:
iiowriter
- The IIO ImageWriter that will be usedimage
- the image to be encodedparams
- the parameters for this writer instance- Returns:
- the IIO ImageWriteParam instance
-
updateMetadata
protected javax.imageio.metadata.IIOMetadata updateMetadata(java.awt.image.RenderedImage image, javax.imageio.metadata.IIOMetadata meta, ImageWriterParams params)
Updates the metadata information based on the parameters to this writer.- Parameters:
image
- the current image being renderedmeta
- the metadataparams
- the parameters- Returns:
- the updated metadata
-
equals
private static boolean equals(double d1, double d2, double maxDelta)
-
getHorizontalPixelSize
private double getHorizontalPixelSize(javax.imageio.metadata.IIOMetadata meta)
-
updatePixelSize
private void updatePixelSize(javax.imageio.metadata.IIOMetadata meta, double horzValue, double vertValue)
-
getChildNode
protected static javax.imageio.metadata.IIOMetadataNode getChildNode(org.w3c.dom.Node n, java.lang.String name)
Returns a specific metadata child node- Parameters:
n
- the base nodename
- the name of the child- Returns:
- the requested child node
-
getMIMEType
public java.lang.String getMIMEType()
- Specified by:
getMIMEType
in interfaceImageWriter
- Returns:
- the target MIME type supported by this ImageWriter
-
isFunctional
public boolean isFunctional()
- Specified by:
isFunctional
in interfaceImageWriter
- Returns:
- true if the ImageWriter is expected to work properly in the current environment
-
warningOccurred
public void warningOccurred(javax.imageio.ImageWriter source, int imageIndex, java.lang.String warning)
- Specified by:
warningOccurred
in interfacejavax.imageio.event.IIOWriteWarningListener
-
createMultiImageWriter
public MultiImageWriter createMultiImageWriter(java.io.OutputStream out) throws java.io.IOException
Creates a MultiImageWriter instance that lets you put multiple pages into a single file if the format supports it.- Specified by:
createMultiImageWriter
in interfaceImageWriter
- Parameters:
out
- the OutputStream to write the image to- Returns:
- the requested MultiImageWriter instance
- Throws:
java.io.IOException
- In case of an /IO problem
-
supportsMultiImageWriter
public boolean supportsMultiImageWriter()
- Specified by:
supportsMultiImageWriter
in interfaceImageWriter
- Returns:
- true if the implemented format supports multiple pages in a single file
-
-