提问者:小点点

将动态创建的图像保存到文件。


我有一个图像,我阅读图像,添加一些东西到图像(如一些文本等)。

所有这些我都在JPanel中完成。

现在,我想将生成的图像保存到. png文件中。

我认为,有一种方法可以使用ImageIO. write()为缓冲图像执行此操作

但是我无法将动态创建的图像转换为BufferedImage。

有什么办法让我去做这件事吗?


共3个答案

匿名用户

您可以使用屏幕图像类。

它将为您的JPanel创建一个BufferedImage。该类还有将图像写入文件的代码。

匿名用户

所有这些我都在JPanel中完成。

改为在JLabel中显示的另一个BufferedImage中执行此操作。代码可以使用BufferedImage. createGraphics()方法获取Graphics2D对象。将图像和文本绘制到新的Graphics2D实例中,然后可以直接保存新图像以及更改。

匿名用户

使用以下方法对我有用…

void TakeSnapShot(JPanel panel,String Locatefile){  
           BufferedImage bi = new BufferedImage(panel.getSize().width,  panel.getSize().height,BufferedImage.TYPE_INT_RGB);  

           panel.paint(bi.createGraphics()); 

           File image = new File(Locatefile);  
        try{  
            image.createNewFile();  
            ImageIO.write(bi, "png", image);
        }catch(Exception ex){  
        }  
    }