JasperReport里如何在Detail部分来动态的现实数据库中的图片

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

问题(网友zslzspzsagd 原文):我想通过ireport在detail部分来动态的现实数据库中的图片(我的数据库中存储的是服务器上的图片所在的路径)。

因为很久没有做JasperReport了,只是说一下个人的一点想法,不对之处,还望指正。

首先,detail里肯定需要定义一个field:

<field name="Image" class="java.awt.Image"/>

注意:class 为 java.awt.Image

其次,肯定需要定义自己的datasource

在 public Object getFieldValue(JRField field) throws JRException

里,判断如果是Image的路径字段,则载入返回图片(应为java.awt.image.BufferedImage)。

如:public Object getFieldValue(JRField field) throws JRException{

Object value = null;

String fieldName = field.getName();

if ("Image".equals(fieldName))

{

String imagePath = (根据index和fieldName取数据库信息);

value = getImage(imagePath );

}else{

...........

}

return value;

}

private BufferedImage getImage(String imagePath){

Image image = Toolkit.getDefaultToolkit().getImage(imagePath);

// Create the buffered image.

BufferedImage bufferedImage = new BufferedImage(

image.getWidth(null), image.getHeight(null),

BufferedImage.TYPE_INT_RGB);

// Copy image to buffered image.

Graphics g = bufferedImage.createGraphics();

// Clear background and paint the image.

g.setColor(Color.white);

g.fillRect(0, 0, image.getWidth(null),

image.getHeight(null));

g.drawImage(image, 0, 0, null);

g.dispose();

return bufferedImage;

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航