0

我有 100 个BufferedImage对象ArrayList,我想在 jsp 中显示所有这些图像。

<%
  ArrayList<BufferedImage> list = GlobalData.getImageBufferArrayList();
%>

 </head>
 <body>
 <ul>
 <li><img alt="" src=""> </li>//image1
 <li><img alt="" src=""> </li>//image2
 <li><img alt="" src=""> </li>//image3
   ...
   ..
   ...
 </ul>
</body>

我不知道src在这些图像上放什么

是否可以将图像数据作为src图像放置。(就像我们从canvashtml 中获取图像数据一样)

或者是他们展示这些图像的任何体面的方式。

4

1 回答 1

1

您要么必须将图像文件嵌入 HTML 文档,要么通过单独的 HTTP 请求使其可用。对于前者,您可以使用data:URI 方案。对于后者,您必须提供一个单独的 servlet,或者在同一个 servlet 中提供一个单独的代码路径,它将为图像文件提供服务。它可能会从一些短暂的缓存中执行此操作,因此您不必再次执行相同的代码来获取这些图像。

一般来说,嵌入数据的大小开销与图像的大小成正比,而单独的请求的资源开销与 HTTP 请求的数量成正比。对于小图像,前者可能会更好,而对于大图像,后者会更快。实现嵌入应该比实现合理的图像缓存更容易,但我不能 100% 确定是否所有浏览器都支持数据方案。

在任何一种情况下,您都必须首先将 序列化为BufferedImage某个字节序列,可能ImageIO.writeByteArrayOutputStream.

于 2013-03-19T21:43:59.627 回答