Package org.apache.poi.sl.draw
Interface ImageRenderer
-
- All Known Implementing Classes:
BitmapImageRenderer,HwmfSLImageRenderer
public interface ImageRendererClasses 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:
and then pass this class to your instance of java.awt.Graphics2D: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); } } }graphics.setRenderingHint(Drawable.IMAGE_RENDERER, new MyImageRendener());
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleandrawImage(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D anchor)Render picture data into the supplied graphicsbooleandrawImage(java.awt.Graphics2D graphics, java.awt.geom.Rectangle2D anchor, java.awt.Insets clip)Render picture data into the supplied graphicsjava.awt.DimensiongetDimension()java.awt.image.BufferedImagegetImage()java.awt.image.BufferedImagegetImage(java.awt.Dimension dim)voidloadImage(byte[] data, java.lang.String contentType)Load and buffer the imagevoidloadImage(java.io.InputStream data, java.lang.String contentType)Load and buffer the imagevoidsetAlpha(double alpha)
-
-
-
Method Detail
-
loadImage
void loadImage(java.io.InputStream data, java.lang.String contentType) throws java.io.IOExceptionLoad and buffer the image- Parameters:
data- the raw image streamcontentType- the content type- Throws:
java.io.IOException
-
loadImage
void loadImage(byte[] data, java.lang.String contentType) throws java.io.IOExceptionLoad and buffer the image- Parameters:
data- the raw image bytescontentType- 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
-
-