【问题标题】:How do I display an image in JFrame from only a ByteArrayOutputStream?如何仅从 ByteArrayOutputStream 在 JFrame 中显示图像?
【发布时间】:2013-07-12 05:56:02
【问题描述】:

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

【问题讨论】:

  • 通过ImageIO传递它
  • "..虽然我可以使用 GIF.." 它们是动画的还是静态的?不要将ImageIO 用于动画 GIF。
  • @AndrewThompson,它们是静态的。感谢您的提醒。
  • 酷。那么m4tx建议的方式最好。

标签: java image stream jframe bytearrayoutputstream


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多