编程语言
首页 > 编程语言> > java – 如何从JPanel加载/保存图像

java – 如何从JPanel加载/保存图像

作者:互联网

我错过了导出文件代码,但我不知道我需要添加什么.我在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) {}

解决方法:

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

编辑
你说:

I’m just drawing polygons onto a class that extends JPanel. I create them via the paintComponent method.

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

标签:java,image,swing,jpanel,javax-imageio
来源: https://codeday.me/bug/20190529/1181115.html