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 classImageIOImageWriter.IIOMultiImageWriter
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.StringDIMENSIONprivate static java.lang.StringHORIZONTAL_PIXEL_SIZEprivate static java.lang.StringSTANDARD_METADATA_FORMATprivate java.lang.StringtargetMIMEprivate static java.lang.StringVERTICAL_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 MultiImageWritercreateMultiImageWriter(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.IIOMetadatacreateStreamMetadata(javax.imageio.ImageWriter writer, javax.imageio.ImageWriteParam writeParam, ImageWriterParams params)Creates the stream metadata for image.private static booleanequals(double d1, double d2, double maxDelta)protected static javax.imageio.metadata.IIOMetadataNodegetChildNode(org.w3c.dom.Node n, java.lang.String name)Returns a specific metadata child nodeprotected javax.imageio.ImageWriteParamgetDefaultWriteParam(javax.imageio.ImageWriter iiowriter, java.awt.image.RenderedImage image, ImageWriterParams params)Returns the default write parameters for encoding the image.private doublegetHorizontalPixelSize(javax.imageio.metadata.IIOMetadata meta)private javax.imageio.ImageWritergetIIOImageWriter()java.lang.StringgetMIMEType()booleanisFunctional()booleansupportsMultiImageWriter()protected javax.imageio.metadata.IIOMetadataupdateMetadata(java.awt.image.RenderedImage image, javax.imageio.metadata.IIOMetadata meta, ImageWriterParams params)Updates the metadata information based on the parameters to this writer.private voidupdatePixelSize(javax.imageio.metadata.IIOMetadata meta, double horzValue, double vertValue)voidwarningOccurred(javax.imageio.ImageWriter source, int imageIndex, java.lang.String warning)voidwriteImage(java.awt.image.RenderedImage image, java.io.OutputStream out)Encodes an image and writes it to an OutputStream.voidwriteImage(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.IOExceptionEncodes an image and writes it to an OutputStream.- Specified by:
writeImagein 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.IOExceptionEncodes an image and writes it to an OutputStream.- Specified by:
writeImagein 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:
getMIMETypein interfaceImageWriter- Returns:
- the target MIME type supported by this ImageWriter
-
isFunctional
public boolean isFunctional()
- Specified by:
isFunctionalin 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:
warningOccurredin 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:
createMultiImageWriterin 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:
supportsMultiImageWriterin interfaceImageWriter- Returns:
- true if the implemented format supports multiple pages in a single file
-
-