Я пытаюсь сгенерировать изображение.
Он должен содержать базовую картинку (JPG, PNG, ...), который загружается из поля MySQL BLOB
На этой картине я хотел бы сделать некоторые круги на х/у ...
На первом этапе я использовал пример из Ireports UltimateGuide, который описывает SVG Rendering через интерфейс JRAbstractSvgRenderer как это:Jasper + ireport + dynamic Создание изображения
public class drawpicture extends JRAbstractSvgRenderer {
String drawstring = "something";
public void render(Graphics2D g2d, Rectangle2D rect) throws JRException {
System.out.println("render");
AffineTransform savedTrans = g2d.getTransform();
Font savedFont = g2d.getFont();
// Paint a nice background...
g2d.setPaint(new GradientPaint(0, 0, Color.ORANGE,
0, (int) rect.getHeight(), Color.PINK));
g2d.fillRect(0, 0, (int) rect.getWidth(), (int) rect.getHeight());
Font myfont = new Font("Arial Black", Font.PLAIN, 50);
g2d.setFont(myfont);
FontRenderContext frc = g2d.getFontRenderContext();
String text = drawstring;
TextLayout textLayout = new TextLayout(text, myfont, frc);
Shape outline = textLayout.getOutline(null);
Rectangle r = outline.getBounds();
// Translate the graphic to center the text
g2d.translate(
(rect.getWidth()/2) - (r.width/2),
rect.getHeight()/2 + (r.height/2));
g2d.setColor(Color.BLACK);
g2d.draw(outline);
// Restore the Graphics2D affine transform
g2d.setFont(savedFont);
g2d.setTransform(savedTrans);
}
}
это работает отлично работает, так что я могу нарисовать изображение с помощью Java-интерфейса и показать его в Ireports поле изображения. Я также могу показать поле BLOB в текстовом поле ireport.
Но я не могу загрузить поле Blob, нарисовать что-то в нем и показать его в поле изображения.
У кого-то есть идея?
Спасибо и наилучшими пожеланиями Christian
P.S .: I'm с помощью IReport 4.1.3 с Netbeans 7.0.1
Hi @all. -> Решено I'm с помощью 2 ImageBoxes в IReport 1 -> Picture 1 -> "Маска Маркер" (генерируется с помощью Java) (здесь это трюк, чтобы создать прозрачную маску с помощью альфа-канала) BR – ChristianNRW
Это интересный вопрос. Не могли бы вы разместить свой ответ в качестве ответа, а не как комментарий? – mdahlman