ImageIO.write无法工作?

10

我正在编写一个3D绘图软件,在Java中遇到了一个问题。 在代码的某个部分它是工作正常的:

try {
    ImageIcon savePane=new ImageIcon("save.png");
    String FilePath= (String)JOptionPane.showInputDialog(null,"Enter file path and name\n Warning: Instead of one '\\' write '\\\\'", "Save",JOptionPane.PLAIN_MESSAGE,savePane,null,"C:\\\\example.png");
    BufferedImage image = new Robot().createScreenCapture(new Rectangle(110,130,put.getWidth()-3,put.getHeight()));
    ImageIO.write(image, "png", new File(FilePath));    
    System.out.println(FilePath);
} catch (IOException e) { 
    e.printStackTrace();
} catch (HeadlessException e) {
    e.printStackTrace();
} catch (AWTException e) {
    e.printStackTrace();
} 

而在另一个中,它却没有起作用:

try {
    String UndoFolder= "was.png";
    BufferedImage image = new Robot().createScreenCapture(new Rectangle(110,130,put.getWidth()-3,put.getHeight()));
    ImageIO.write(image, ".png",new File(UndoFolder));          
} catch (IOException e1) {
    e1.printStackTrace();
} catch (AWTException e1) {
    e1.printStackTrace();
} catch (HeadlessException e3) {
    e3.printStackTrace();
}

你能告诉我如何使它工作吗?谢谢。 在你问之前,是的,它会执行代码的那一部分,我检查过了。

编辑:

哦,现在工作正常了,谢谢。


1
你尝试使用相同的第二个参数,即“png”了吗? - Dave Newton
“isn't working” 是什么意思?没有生成文件吗? - Duncan Jones
是的,但现在它可以工作了。应该没有放那个点。我简直不敢相信我错过了那个。 - Nemanja Neca Stojanovic
1个回答

23
ImageIO.write(image, "png",new File(UndoFolder));

与其:

ImageIO.write(image, ".png",new File(UndoFolder));

谢谢,现在它工作得很好。我仍然不知道我是怎么错过了那个。 - Nemanja Neca Stojanovic
太好了!我也忘记了formatName后面的那个点。 - sharmaap
像魔法一样运作良好,Mamnun aga mohammad。 - ucMedia
是的!省了我很多时间! - Alon_T

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接