Jasper reports 贾斯珀+;ireport+;动态图像创建

Jasper reports 贾斯珀+;ireport+;动态图像创建,jasper-reports,ireport,Jasper Reports,Ireport,我正在尝试生成一张图片。 它应该包含从mysql BLOB字段加载的基本图片(JPG、PNG等) 在这张图片上,我想在x/y处画一些圆圈… 在第一步中,我使用了Ireports UltimateGuide中的示例,该示例通过JRactSvgRender接口描述SVG渲染,如下所示: 公共类drawpicture扩展了JRactSvgRender{ String drawstring=“某物”; 公共void渲染(Graphics2D g2d、矩形2D rect)引发异常{ System.out.

我正在尝试生成一张图片。
它应该包含从mysql BLOB字段加载的基本图片(JPG、PNG等)
在这张图片上,我想在x/y处画一些圆圈…
在第一步中,我使用了Ireports UltimateGuide中的示例,该示例通过JRactSvgRender接口描述SVG渲染,如下所示:

公共类drawpicture扩展了JRactSvgRender{
String drawstring=“某物”;
公共void渲染(Graphics2D g2d、矩形2D rect)引发异常{
System.out.println(“渲染”);
AffineTransform savedTrans=g2d.getTransform();
Font savedFont=g2d.getFont();
//画一个漂亮的背景。。。
g2d.setPaint(新GradientPaint(0,0,颜色为橙色,
0,(int)rect.getHeight(),Color.PINK));
g2d.fillRect(0,0,(int)rect.getWidth(),(int)rect.getHeight();
Font myfont=新字体(“Arial黑色”,Font.PLAIN,50);
g2d.setFont(myfont);
FontRenderContext frc=g2d.getFontRenderContext();
字符串文本=抽绳;
text布局text布局=新的文本布局(文本、myfont、frc);
形状轮廓=textLayout.getOutline(null);
矩形r=outline.getBounds();
//翻译图形以使文本居中
g2d.translate(
(rect.getWidth()/2)-(r.width/2),
rect.getHeight()/2+(r.height/2));
g2d.setColor(Color.BLACK);
g2d.绘制(轮廓);
//还原Graphics2D仿射变换
g2d.setFont(savedFont);
g2d.setTransform(savedTrans);
}
}
这很好,所以我可以通过Java接口绘制图像,并在Ireports图像字段中显示它。 我还可以在ireport文本字段中显示BLOB字段

但我不能加载Blob字段,在其中绘制一些内容并在图像字段中显示

有人有主意吗

谢谢你,并致以最良好的问候 基督教徒


备注:我正在使用Ireport 4.1.3和netBeans 7.0.1,以下是我想要的答案

解决

现在我在Ireport中使用了2个ImageBox

1->BLOB字段中的图片

2->“标记掩码”(通过Java生成)

下面是通过Alpha通道生成透明遮罩的技巧


标记被排除在透明度之外!!:-)

大家好解决了我在Ireport 1->Picture 1->“Marker mask”(通过Java生成)(以下是通过Alpha通道生成透明掩码的诀窍)中使用了2个图像框BRIt这是一个有趣的问题。你能把你的答案作为答案而不是评论吗?