Class ImageIOImageWriter

java.lang.Object
org.apache.xmlgraphics.image.writer.imageio.ImageIOImageWriter
All Implemented Interfaces:
EventListener, IIOWriteWarningListener, ImageWriter
Direct Known Subclasses:
ImageIOJPEGImageWriter, ImageIOPNGImageWriter, ImageIOTIFFImageWriter

public class ImageIOImageWriter extends Object implements ImageWriter, IIOWriteWarningListener
ImageWriter implementation that uses Image I/O to write images.
Version:
$Id$
  • Constructor Details

    • ImageIOImageWriter

      public ImageIOImageWriter(String mime)
      Main constructor.
      Parameters:
      mime - the MIME type of the image format
  • Method Details

    • writeImage

      public void writeImage(RenderedImage image, OutputStream out) throws IOException
      Encodes an image and writes it to an OutputStream.
      Specified by:
      writeImage in interface ImageWriter
      Parameters:
      image - the image to be encoded
      out - the OutputStream to write to
      Throws:
      IOException - In case of an /IO problem
    • writeImage

      public void writeImage(RenderedImage image, OutputStream out, ImageWriterParams params) throws IOException
      Encodes an image and writes it to an OutputStream.
      Specified by:
      writeImage in interface ImageWriter
      Parameters:
      image - the image to be encoded
      out - the OutputStream to write to
      params - a parameters object to customize the encoding.
      Throws:
      IOException - In case of an /IO problem
    • createStreamMetadata

      protected IIOMetadata createStreamMetadata(ImageWriter writer, 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 write
      writeParam - the ImageIO write parameters
      params - the ImageWriter write parameters
      Returns:
      the stream metadata (or null if no special metadata needs to be produced)
    • getDefaultWriteParam

      protected ImageWriteParam getDefaultWriteParam(ImageWriter iiowriter, RenderedImage image, ImageWriterParams params)
      Returns the default write parameters for encoding the image.
      Parameters:
      iiowriter - The IIO ImageWriter that will be used
      image - the image to be encoded
      params - the parameters for this writer instance
      Returns:
      the IIO ImageWriteParam instance
    • updateMetadata

      protected IIOMetadata updateMetadata(RenderedImage image, IIOMetadata meta, ImageWriterParams params)
      Updates the metadata information based on the parameters to this writer.
      Parameters:
      image - the current image being rendered
      meta - the metadata
      params - the parameters
      Returns:
      the updated metadata
    • getChildNode

      protected static IIOMetadataNode getChildNode(Node n, String name)
      Returns a specific metadata child node
      Parameters:
      n - the base node
      name - the name of the child
      Returns:
      the requested child node
    • getMIMEType

      public String getMIMEType()
      Specified by:
      getMIMEType in interface ImageWriter
      Returns:
      the target MIME type supported by this ImageWriter
    • isFunctional

      public boolean isFunctional()
      Specified by:
      isFunctional in interface ImageWriter
      Returns:
      true if the ImageWriter is expected to work properly in the current environment
    • warningOccurred

      public void warningOccurred(ImageWriter source, int imageIndex, String warning)
      Specified by:
      warningOccurred in interface IIOWriteWarningListener
    • createMultiImageWriter

      public MultiImageWriter createMultiImageWriter(OutputStream out) throws IOException
      Creates a MultiImageWriter instance that lets you put multiple pages into a single file if the format supports it.
      Specified by:
      createMultiImageWriter in interface ImageWriter
      Parameters:
      out - the OutputStream to write the image to
      Returns:
      the requested MultiImageWriter instance
      Throws:
      IOException - In case of an /IO problem
    • supportsMultiImageWriter

      public boolean supportsMultiImageWriter()
      Specified by:
      supportsMultiImageWriter in interface ImageWriter
      Returns:
      true if the implemented format supports multiple pages in a single file