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

标签 java image stream jframe bytearrayoutputstream

我有一个 JPEG 图像的 ByteArrayOutputStream 表示(尽管我可以使用 GIF 或 PNG,如果这样效果更好的话)。我想在表单上显示它,例如在标签或图像对象中。我受到以下事实的限制:我无法将图像写入文件,我只能将其存储在内存中。

最佳答案

解决该问题的(最简单)可能性之一是创建一个 ByteArrayInputStream,然后将其传递给 ImageIO:

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

关于java - 如何仅从 ByteArrayOutputStream 在 JFrame 中显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17608290/

相关文章:

java - 灰度图像

java - 在 Java 11 中使用流返回树形图

stream - 如何在 Trident 中映射具有持久状态的元组?

java - 如何在executorCompletionService中使用concurrentHashMap?

java - 项目无法在 Intellij 上打开

c++ - 清除 QML 图片缓存

java - 简单的 Java 服务器/客户端不工作?

java - 在这段代码中,Groovy 的表现与 Java 不同

java - 如何从 Android 中选定的 Spinner 项目中获取 SQLite 数据

python - 如何在OpenCV的同一窗口中显示2个不同的源?