如何仅从ByteArrayOutputStream在JFrame中显示图像?

rus*_*ell 2 java image stream jframe bytearrayoutputstream

我有一个JPEG图像的ByteArrayOutputStream表示(虽然我可以使用GIF或PNG,如果这样可以更好地工作).我想在表单上显示它,例如在标签或图像对象中.我受限于这样一个事实:我无法将图像写入文件,我只能将其存储在内存中.

m4t*_*4tx 8

解决问题的最简单方法之一是创建ByteArrayInputStream然后将其传递给ImageIO:

ByteArrayOutputStream output = new ByteArrayOutputStream();
// save the image to the output stream
ByteArrayInputStream input = new ByteArrayInputStream(output.toByteArray());
BufferedImage image = ImageIO.read(input);
Run Code Online (Sandbox Code Playgroud)