Hallo
Ich habe ein Image, das hier mit einem ImageFilter bearbeitet und danach gespeichert werden sollte:
Das Problem: Das geschriebene Bild ist ganz transparent, nur die Grösse stimmt. Exceptions gibt es keine.
Nehme ich jedoch bei drawImage statt filter_image einfach nur image, dann funktioniert es (allerdings ist dann auch der Filter weg).
Hat jemand eine Idee, an was das liegen könnte?
(preview_panel ist ein JPanel, das nicht mehr angezeigt wird. Ohne JPanel kann ich jedoch auch nicht createImage verwenden).
MfG
keman
EDIT: g2d.drawImage(output_image, 0, 0, null); korrigiert.
Ich habe ein Image, das hier mit einem ImageFilter bearbeitet und danach gespeichert werden sollte:
Code:
Image image = Toolkit.getDefaultToolkit().getImage("bild.png");
Image filter_image = preview_panel.createImage(new FilteredImageSource(image.getSource(), new RedBlueSwapFilter()));
BufferedImage original_image = ImageIO.read("bild.png");
int w = original_image.getWidth(null);
int h = original_image.getHeight(null);
BufferedImage output_image = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
Graphics2D g2d = (Graphics2D) output_image.getGraphics();
g2d.drawImage(filter_image, 0, 0, null);
ImageIO.write(output_image, "PNG", new File("bild_filter.png"));
Das Problem: Das geschriebene Bild ist ganz transparent, nur die Grösse stimmt. Exceptions gibt es keine.
Nehme ich jedoch bei drawImage statt filter_image einfach nur image, dann funktioniert es (allerdings ist dann auch der Filter weg).
Hat jemand eine Idee, an was das liegen könnte?
(preview_panel ist ein JPanel, das nicht mehr angezeigt wird. Ohne JPanel kann ich jedoch auch nicht createImage verwenden).
MfG
keman
EDIT: g2d.drawImage(output_image, 0, 0, null); korrigiert.