Hallo Leute,
folgendes Problem: ich habe ein kleines Programm geschrieben, mit dem man Bilder laden kann, welche dann in verschiedenen Größen auf JLabels angezeigt werden. Nun möchte ich gerne diese veränderten Bilder per Button speichern. Um nochmal zu verdeutlich worauf ich hinaus will:
-ich lade ein Bild
-das Bild wird einmal in Originalgröße und dann noch einmal in 3 anderen Größen angezeigt
-per Buttondruck möchte ich nun, dass diese 3 Bilder gespeichert werden
ich wäre euch sehr dankbar, wenn ihr mir da weiterhelfen könntet.
Danke im Vorraus
folgendes Problem: ich habe ein kleines Programm geschrieben, mit dem man Bilder laden kann, welche dann in verschiedenen Größen auf JLabels angezeigt werden. Nun möchte ich gerne diese veränderten Bilder per Button speichern. Um nochmal zu verdeutlich worauf ich hinaus will:
-ich lade ein Bild
-das Bild wird einmal in Originalgröße und dann noch einmal in 3 anderen Größen angezeigt
-per Buttondruck möchte ich nun, dass diese 3 Bilder gespeichert werden
Code:
package de.bonprix.development.image_size;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;
import javax.imageio.stream.FileImageOutputStream;
import javax.swing.BorderFactory;
import javax.swing.ButtonModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.ScrollPaneConstants;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class Main {
javax.swing.JFrame frame1 = new JFrame("Moes' Images-Changer :o) (C)");//$NON-NLS-1$
JPanel panel1 = new JPanel();
JButton btnBrowse = new JButton();
JButton btnChangeSize = new JButton();
JButton btnClose = new JButton();
JButton btnReset = new JButton();
Image img=Toolkit.getDefaultToolkit().getImage("Images/ICON.png");//$NON-NLS-1$
JLabel label1 = new JLabel();
JLabel label2 = new JLabel();
JLabel label3 = new JLabel();
JLabel label4 = new JLabel();
JTextField tfield1 = new JTextField();
BufferedImage currentImage;
Icon BTNBROWSE = new ImageIcon("Images/BTNBROWSE.png"); //$NON-NLS-1$
Icon BTNCHANGESIZE = new ImageIcon("Images/BTNCHANGESIZE.png"); //$NON-NLS-1$
Icon BTNCLOSE = new ImageIcon("Images/BTNCLOSE.png"); //$NON-NLS-1$
Icon BTNRESET = new ImageIcon("Images/BTNRESET.png"); //$NON-NLS-1$
@SuppressWarnings("unqualified-field-access")
public Main()
{
frame1.add(panel1);
frame1.setSize(600,600);
frame1.setVisible(true);
frame1.setIconImage(img);
frame1.addWindowListener(new WindowAdapter()
{
public void windowClosing(final WindowEvent e)
{
System.exit(0);
}
}
)
;
panel1.setLayout(null);
panel1.setBounds(0,0,800,600);
panel1.setVisible(true);
panel1.add(label1);
panel1.add(label2);
panel1.add(label3);
panel1.add(label4);
panel1.add(tfield1);
panel1.add(btnBrowse);
panel1.add(btnChangeSize);
panel1.add(btnClose);
panel1.add(btnReset);
panel1.setBackground(Color.WHITE);
final JScrollPane sp = new JScrollPane(label1);
sp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
sp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
sp.setPreferredSize(new Dimension(350, 250));
sp.setVisible(true);
label1.setBorder(BorderFactory.createEtchedBorder());
sp.setBounds(10,60,350, 350);
panel1.add(sp);
label2.setVisible(true);
label2.setBounds(635,60,48,48);
label2.setBorder(BorderFactory.createEtchedBorder());
label3.setVisible(true);
label3.setBounds(587,116,96,96);
label3.setBorder(BorderFactory.createEtchedBorder());
label4.setVisible(true);
label4.setBounds(540,220,144,144);
label4.setBorder(BorderFactory.createEtchedBorder());
btnReset.setVisible(true);
btnReset.setBounds(370,376,148,32);
btnReset.setIcon(BTNRESET);
btnReset.setText("Zurücksetzen"); //$NON-NLS-1$
btnClose.setVisible(true);
btnClose.setBounds(555,375,120,32);
btnClose.setIcon(BTNCLOSE);
btnClose.setText("Beenden"); //$NON-NLS-1$
btnClose.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
)
;
frame1.setBounds(0,0,700,450);
frame1.setVisible(true);
tfield1.setEditable(false);
tfield1.setBounds(380,10,290,32);
tfield1.setForeground(Color.RED);
btnChangeSize.setVisible(true);
btnChangeSize.setBounds(210,10,150,32);
btnChangeSize.setIcon(BTNCHANGESIZE);
btnChangeSize.setText("Größe ändern"); //$NON-NLS-1$
btnBrowse.setVisible(true);
btnBrowse.setBounds(10,10,110,32);
btnBrowse.setIcon(BTNBROWSE);
btnBrowse.setText("Öffnen"); //$NON-NLS-1$
btnBrowse.addActionListener(new ActionListener()
{
@SuppressWarnings("nls")
public void actionPerformed(ActionEvent ae)
{
JFileChooser fileChooser=new JFileChooser(".");
javax.swing.filechooser.FileFilter filter = null;
fileChooser.addChoosableFileFilter(filter);
int choice=fileChooser.showOpenDialog(null);
if(choice==JFileChooser.APPROVE_OPTION)
{
File file=fileChooser.getSelectedFile();
tfield1.setText(file.getPath());
Image originalImage = Toolkit.getDefaultToolkit().getImage(file.getPath());
Image resizedImage1 = originalImage.getScaledInstance(label2.getWidth(), label2.getHeight(), Image.SCALE_DEFAULT);
Image resizedImage2 = originalImage.getScaledInstance(label3.getWidth(), label3.getHeight(), Image.SCALE_DEFAULT);
Image resizedImage3 = originalImage.getScaledInstance(label4.getWidth(), label4.getHeight(), Image.SCALE_DEFAULT);
label1.setIcon(new ImageIcon(originalImage));
label2.setIcon(new ImageIcon(resizedImage1));
label3.setIcon(new ImageIcon(resizedImage2));
label4.setIcon(new ImageIcon(resizedImage3));
}
}
}
)
;
}
protected void paint(Graphics graphics) {
// TODO Auto-generated method stub
}
public static void main (String[] args) throws Exception
{
@SuppressWarnings({"unused","unused"})
Main main = new Main ();
}
}
ich wäre euch sehr dankbar, wenn ihr mir da weiterhelfen könntet.
Danke im Vorraus