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これらの画像に何を入れるべきかわかりません

画像の時点で画像データを入れることは可能ですか( htmlでsrc画像データを取得するのと同じように)canvas

または、これらの画像を表示するための適切な方法です。

4

1 に答える 1

1

画像ファイルをHTMLドキュメントに埋め込むか、個別のHTTPリクエストで利用できるようにする必要があります。前者の場合、data:URIスキームを使用できます。後者の場合、イメージファイルを提供する別のサーブレットまたは同じサーブレット内の別のコードパスを提供する必要があります。短期間のキャッシュから実行される可能性があるため、これらのイメージを取得するために同じコードを再度実行する必要はありません。

一般に、データの埋め込みには画像のサイズに比例するサイズオーバーヘッドがありますが、個別のリクエストにはHTTPリクエストの数に比例するリソースオーバーヘッドがあります。小さい画像の場合は前者の方が良いかもしれませんが、大きい画像の場合は後者の方が速くなります。埋め込みの実装は、適切な画像キャッシュを実装するよりも簡単なはずですが、すべてのブラウザがデータスキームをサポートしているかどうかは100%わかりません。

いずれの場合も、BufferedImage最初にをいくつかのバイトシーケンスにシリアル化する必要があります。おそらくImageIO.write、と組み合わせて使用​​しByteArrayOutputStreamます。

于 2013-03-19T21:43:59.627 に答える