Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.sl.draw
Interface ImageRenderer

All Known Implementing Classes:
  BitmapImageRenderer, HwmfSLImageRenderer

    public interface ImageRenderer

Classes can implement this interfaces to support other formats, for example, use Apache Batik to render WMF, PICT can be rendered using Apple QuickTime API for Java:

     public class MyImageRendener implements ImageRendener {
         InputStream data;

         public boolean drawImage(Graphics2D graphics,Rectangle2D anchor,Insets clip) {
             // draw image
           DataInputStream is = new DataInputStream(data);
           org.apache.batik.transcoder.wmf.tosvg.WMFRecordStore wmfStore =
                   new org.apache.batik.transcoder.wmf.tosvg.WMFRecordStore();
           try {
               wmfStore.read(is);
           } catch (IOException e){
               return;
           }

           float scale = (float)anchor.width/wmfStore.getWidthPixels();

           org.apache.batik.transcoder.wmf.tosvg.WMFPainter painter =
                   new org.apache.batik.transcoder.wmf.tosvg.WMFPainter(wmfStore, 0, 0, scale);
           graphics.translate(anchor.x, anchor.y);
           painter.paint(graphics);
         }

         public void loadImage(InputStream data, String contentType) throws IOException {
             if ("image/wmf".equals(contentType)) {
                 this.data = data;
                 // use Apache Batik to handle WMF
             } else {
                 super.loadImage(data,contentType);
             }
         }
     }

and then pass this class to your instance of java.awt.Graphics2D:

     graphics.setRenderingHint(Drawable.IMAGE_RENDERER, new MyImageRendener());

Method Summary
`boolean` | `drawImage(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D anchor)` Render picture data into the supplied graphics
`boolean` | `drawImage(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D anchor, java.awt.Insets clip)` Render picture data into the supplied graphics
`java.awt.Dimension` | `getDimension()`
`java.awt.image.BufferedImage` | `getImage()`
`java.awt.image.BufferedImage` | `getImage(java.awt.Dimension dim)`
`void` | `loadImage(byte[] data, java.lang.String contentType)` Load and buffer the image
`void` | `loadImage(java.io.InputStream data, java.lang.String contentType)` Load and buffer the image
`void` | `setAlpha(double alpha)`

Method Detail

### loadImage

    void loadImage(java.io.InputStream data,
                   java.lang.String contentType)
                   throws java.io.IOException

  Load and buffer the image

  Parameters:
    `data` - the raw image stream
    `contentType` - the content type
  Throws:
    `java.io.IOException`

### loadImage

    void loadImage(byte[] data,
                   java.lang.String contentType)
                   throws java.io.IOException

  Load and buffer the image

  Parameters:
    `data` - the raw image bytes
    `contentType` - the content type
  Throws:
    `java.io.IOException`

### getDimension

    java.awt.Dimension getDimension()

  Returns:
    the dimension of the buffered image

### setAlpha

    void setAlpha(double alpha)

  Parameters:
    `alpha` - the alpha [0..1] to be added to the image (possibly already containing an alpha channel)

### getImage

    java.awt.image.BufferedImage getImage()

  Returns:
    the image as buffered image

### getImage

    java.awt.image.BufferedImage getImage(java.awt.Dimension dim)

  Parameters:
    `dim` - the dimension in pixels of the returned image
  Returns:
    the image as buffered image
  Since:
    POI 3.15-beta2

### drawImage

    boolean drawImage(java.awt.Graphics2D graphics,
                      java.awt.geom.Rectangle2D anchor)

  Render picture data into the supplied graphics

  Returns:
    true if the picture data was successfully rendered

### drawImage

    boolean drawImage(java.awt.Graphics2D graphics,
                      java.awt.geom.Rectangle2D anchor,
                      java.awt.Insets clip)

  Render picture data into the supplied graphics

  Returns:
    true if the picture data was successfully rendered

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.