4

我缺少导出文件代码,但我不知道需要添加什么。我在 JPanel -> 面板中有一个绘制的图像,并希望将该图像保存到我的桌面中。我需要添加什么?

JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(panel);

我已将以下代码添加到我的 paintComponent 方法中:

bi = new BufferedImage(panel.getSize().width,panel.getSize().height,
          BufferedImage.TYPE_INT_ARGB);
g = bi.createGraphics();

然后保存按钮执行此操作...我还缺少什么?或者做得不正确。

JFileChooser chooser = new JFileChooser();
chooser.showSaveDialog(panel);

try{ImageIO.write(bi,"png",new File("test.png"));}catch (Exception ex) {}
4

1 回答 1

6

您的问题是缺少一些重要信息:您如何在 JPanel 上绘图?在我看来,聪明的方法是绘制一个 BufferedImage,然后简单地将 BufferedImage 保存到文件中ImageIO.write(...)

编辑
你状态:

我只是在扩展 JPanel 的类上绘制多边形。我通过paintComponent 方法创建它们。

同样,我建议您将它们绘制到 BufferedImage,方法是获取其 Graphics 上下文,使用此 Graphics 对象绘制到图像,然后释放 Graphics 对象。您可以paintComponent(...)通过调用在 JPanel 的方法中显示 BufferedImage g.drawImage(...)。然后,如果您想保存绘图,只需保存 BufferedImage。

于 2012-10-23T02:55:46.223 回答