在RAM中“即时”加载图像,而不使用硬盘

时间:2016-06-21 20:49:49

标签: java ram


可以从互联网上获取文本(甚至解码字符串)并在JLabel中表示它,而不触及硬盘。
所以,我想知道是否有可能对图像做同样的事情。让我解释一下自己:
我想用“动态”JLabel表示带有十六进制表示的图像,我的意思是,在RAM中,甚至没有触及硬盘。我的意思并不是说它是从互联网上删除的,我的意思是读取一个具有图像十六进制代码的文件,将其转换为ASCII并以编程方式将其插入JLabel,就像它是一个文件一样。
这甚至可能吗?我想我不是很清楚,但我希望你能理解我想说的话。

1 个答案:

答案 0 :(得分:1)

是的,你可以。如果您要从互联网上加载图片,javax.swing.ImageIcon构造函数接受网址作为参数,然后您将ImageIcon提供给JLabel

在回答您的澄清时,是的,您仍然可以这样做。

有几个选项,这里有一对:

  1. 您仍然可以使用上述相同方法,并使用" file:// your / image / file" 作为ImageIcon的网址。

  2. ImageIcon也接受byte[]图片数据。因此,您可以将常规文件读取到ByteArrayInputStream并从中获取byte[]