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