1

スイングフレームに画像を表示するために次のコードを使用しています。

ImageIcon icon = new ImageIcon("image.jpeg");
icon.getImage().flush();
jLabel3.setIcon( icon );

クリックするとjpeg/png拡張子で画像を保存するボタンが必要です。

4

3 に答える 3

10

私は通常、このようなことをします

Image img = icon.getImage();

BufferedImage bi = new BufferedImage(img.getWidth(null),img.getHeight(null),BufferedImage.TYPE_BYTE_ARGB);

Graphics2D g2 = bi.createGraphics();
g2.drawImage(img, 0, 0, null);
g2.dispose();
ImageIO.write(bi, "jpg", new File("img.jpg"));

BufferedImage.TYPE_INT_RGBなどの他の画像タイプも試してください。BufferedImage をチェックしてください。

この書き込み/画像の保存もお読みください。

それがあなたのために働くことを願っています

于 2012-07-24T08:00:52.967 に答える
1

ImageIO.write (Image img, String type, File file)を使用して、イメージをファイルシステムに書き込むことを検討してください。

ImageIcon から Image オブジェクトを取得します。getImage()

Button の ActionListener を実装する必要があります。

于 2012-07-24T08:00:54.647 に答える
-1

したがって、最初の部分は actionlistener を実装して、クリックするとボタンが機能するようにします。J ボタン。

2番目の部分は、ImageIo.writeを使用する画像を保存しています

以下のコードを参照してください

public class MyFrame extends JFrame implements ActionListener {
  private JButton button1 = new JButton("Click me!");


  public MyFrame() {
    button1.addActionListener(this);

    //... add buttons to frame ...
  }

  public void actionPerformed(ActionEvent evt) {
    Object src = evt.getSource();
    if (src == button1) {
      string imagename = icon.getDescription;


         try {
    // retrieve image
    BufferedImage bi = icon.getImage();
    File outputfile = new File("saved.png");
    ImageIO.write(bi, "png", outputfile);
} catch (IOException e)


{
        //catch the exception here
    }
    } 
  }
}
于 2012-07-24T08:05:32.097 に答える