我错过了导出文件代码,但我不知道我需要添加什么。我在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) {}
答案 0 :(得分:6)
您的问题是缺少一些重要信息:您如何在JPanel上绘图?在我看来,聪明的方法是绘制到BufferedImage,然后使用ImageIO.write(...)
修改强>
你说:
我只是将多边形绘制到扩展JPanel的类上。我通过paintComponent方法创建它们。
同样,我建议您通过获取其Graphics上下文,使用此Graphics对象绘制到图像,然后处理Graphics对象,将它们绘制到BufferedImage。您可以通过调用paintComponent(...)
在JPanel的g.drawImage(...)
方法中显示BufferedImage。然后,如果你想再次保存图形,只需保存BufferedImage。