gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 02:13:15 25 4
gpt4 key购买 nike

我缺少导出文件代码,但我不知道我需要添加什么。我在 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.

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

关于java - 如何从 JPanel 加载/保存图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13022897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com