G
Guest
Gast
Hi,
in meinem Programm soll man durch einen FileChooser ein Bild auswählen können, welches dann auf eine bestimmte Größe gesetzt wird und abgespeichert werden soll.
Das klappt auch, bis auf, dass das abgespeicherte Bild plötzlich komplett schwarz ist.
Weiss jemand woran das liegt???
Gruss, Stephan.
in meinem Programm soll man durch einen FileChooser ein Bild auswählen können, welches dann auf eine bestimmte Größe gesetzt wird und abgespeichert werden soll.
Das klappt auch, bis auf, dass das abgespeicherte Bild plötzlich komplett schwarz ist.
Code:
public static void bildEinfuegen() {
fc.setDialogTitle("Bild auswählen...");
fc.showOpenDialog(null);
File file = fc.getSelectedFile();
String filename = file.toString();
// Bild
ImageIcon ii = new ImageIcon(filename);
int width = 120, height = 160; // Bildgröße wird festgelegt.
// Größe wird geändert.
ii.setImage(ii.getImage().getScaledInstance(width,height,Image.SCALE_FAST));
// Filename wird festgelegt.
filename = foto.jpeg;
// Muss aus dem ImageIcon ein BufferedImage machen. Dafür muss
// es zunächst in ein Image gecastet werden.
Image i = ii.getImage();
BufferedImage buf = new BufferedImage( width, height, BufferedImage.TYPE_INT_RGB );
// Aus dem BufferedImage in Datei schreiben.
try {
ImageIO.write( buf, "jpeg", new File (filename));
} catch(IOException ex) {System.out.println("BufferedIage konnte nicht in Datei geschrieben werden!");}
// Bild wird auf Label gesetzt und ausgegeben.
JLabel lIcon = new JLabel(ii);
lIcon.setBounds(430,80,120,160);
lIcon.setVisible(true);
Frame.contentPane.add(lIcon);
Frame.contentPane.repaint();
}
Gruss, Stephan.