使用JFileChooser使用Java保存png图像

问题描述 投票:1回答:3

我正在尝试保存由BufferedImage形成的图像。我做了BufferedImage

(BufferedImage) fg;

fg是我的jPanel图形的图像。我通过直接硬编码路径来成功保存图像,如下所示:

ImageIO.write((BufferedImage)fg,"png",new File("C:\\Users\\Geiger\\Documents\\test.png"));

但是当我尝试将JFileChooser添加到混合中时,保存的图像变为空白,只有jPanel的背景颜色。

我尝试使用JFileChooser的代码如下:

JFileChooser jfc = new JFileChooser();
int retVal = jfc.showSaveDialog(null);
if(retVal==JFileChooser.APPROVE_OPTION){
    File f = jfc.getSelectedFile();
    String test = f.getAbsolutePath();
    ImageIO.write((BufferedImage)fg,"png",new File(test));
 }

编辑:在问题上澄清一点:问题不是文件没有出现,使用JFileChooser对象时图形不会出现在图像上。

当JFrame有鼠标按下事件时,我更新我的图像:

fg = jPanel2.createImage(jPanel2.getWidth(), jPanel2.getHeight());
java image swing file-io javax.imageio
3个回答
© www.soinside.com 2019 - 2024. All rights reserved.