org.apache.fop.render

## Interface ImageHandler

All Superinterfaces:
  ImageHandlerBase

All Known Subinterfaces:
  PSImageHandler

All Known Implementing Classes:
  AbstractAFPImageHandlerRawStream, AbstractImageHandlerGraphics2D, AFPImageHandlerGraphics2D, AFPImageHandlerRawCCITTFax, AFPImageHandlerRawJPEG, AFPImageHandlerRawStream, AFPImageHandlerRenderedImage, AFPImageHandlerSVG, Java2DImageHandlerGraphics2D, Java2DImageHandlerRenderedImage, PCLImageHandlerGraphics2D, PCLImageHandlerRenderedImage, PDFImageHandlerGraphics2D, PDFImageHandlerRawCCITTFax, PDFImageHandlerRawJPEG, PDFImageHandlerRawPNG, PDFImageHandlerRenderedImage, PDFImageHandlerSVG, PSImageHandlerEPS, PSImageHandlerGraphics2D, PSImageHandlerRawCCITTFax, PSImageHandlerRawJPEG, PSImageHandlerRawPNG, PSImageHandlerRenderedImage, PSImageHandlerSVG

    public interface ImageHandler
    extends ImageHandlerBase

This interface is a service provider interface for image handlers.

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `handleImage(RenderingContext context, org.apache.xmlgraphics.image.loader.Image image, Rectangle pos)` Handles the given `Image` instance painting it at the indicated position in the output format being generated.
`boolean` `isCompatible(RenderingContext targetContext, org.apache.xmlgraphics.image.loader.Image image)` Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed.

### Methods inherited from interface org.apache.fop.render.ImageHandlerBase

`getPriority, getSupportedImageClass, getSupportedImageFlavors`

### Method Detail

#### isCompatible

    boolean isCompatible(RenderingContext targetContext,
                         org.apache.xmlgraphics.image.loader.Image image)

Indicates whether the image handler is compatible with the indicated target represented by the rendering context object and with the image to be processed. The image is also passed as a parameter because a handler might not support every subtype of image that is presented. For example: in the case of `ImageXMLDOM`, the image might carry an SVG or some other XML format. One handler might only handle SVG but no other XML format.

Parameters:
  `targetContext` - the target rendering context
  `image` - the image to be processed (or null if only to check based on the rendering context)
Returns:
  true if this handler is compatible with the target rendering context

#### handleImage

    void handleImage(RenderingContext context,
                     org.apache.xmlgraphics.image.loader.Image image,
                     Rectangle pos)
              throws IOException

Handles the given `Image` instance painting it at the indicated position in the output format being generated.

Parameters:
  `context` - the rendering context
  `image` - the image to be handled
  `pos` - the position and scaling of the image relative to the origin point of the current viewport (in millipoints)
Throws:
  `IOException` - if an I/O error occurs