有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何将java swing ImageIcon图像保存到文件?

我使用以下代码在swing框架上显示图像

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

我需要一个按钮,点击后将保存一个jpeg/png扩展图像


共 (3) 个答案

  1. # 1 楼答案

    考虑使用{a1}将图像写入文件系统。

    通过getImage()从ImageIcon获取图像对象

    您必须为按钮实现一个ActionListener,然后就可以开始了

  2. # 2 楼答案

    我通常会这样做

    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"));
    

    还可以尝试其他图像类型,比如BuffereImage。键入_INT_RGB,签出BufferedImage

    你可能还想读一下Writing/Saving an Image

    希望对你有用

  3. # 3 楼答案

    所以第一部分是实现actionlistener,这样当你点击它时,按钮就会工作。JButton

    第二部分是保存我使用ImageIo的图像。写

    参见下面的代码

    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
        }
        } 
      }
    }