8

約 20 ~ 50 個の動的画像 (非静的ソースから提供される画像) を含む Web ページがあります。これらの画像は、リクエスト URL に基づいてサーブレットを介して提供されます。これにより、イメージごとにリクエストが生成され、パフォーマンスが低下します。

これらの画像が静的な場合は、CSS スプライトを作成して、50 件のリクエストを 1 件のリクエストに置き換えます。それらは動的であるため、もちろんこれは簡単ではありません。実行時にこれらの画像を単一のスプライトに集約するために使用できるツール/ライブラリ/メソッドを探しています。幸いなことに、画像サイズは一定で、すべて同じであるため、これがはるかに簡単になります。

助言がありますか?

4

3 に答える 3

3

サーブレットでcssファイルを生成/変更(圧縮、マージも)するためのjawr(https://jawr.dev.java.net/)ライブラリを確認して試すことができます。背景画像を動的に変更するオプションがあります。スキンを変更するための CSS ファイルを切り替えるためのバンドルを配置することができます。

プラス面: .js ファイルも管理および整理できます。

于 2010-01-27T10:24:02.203 に答える
2

システム コマンド ラインへの呼び出しを介して、無料のImageMagickライブラリを使用して画像を追加できるため、Java でのコーディングが大幅に減り、高速になります。

水平に追加するには、次のコマンドを使用します。

convert image1.gif image2.gif image3.gif +append result.gif

垂直に追加するには、次のコマンドを使用します。

convert image1.gif image2.gif image3.gif -append result.gif

詳細については、http: //www.imagemagick.org/Usage/layers/#appendをご覧ください。

そのため、CSS を使用すると、単一の画像と単純なオフセットを使用してスプライトを表示できます (CSS の「背景」プロパティを使用して画像を読み込み、表示する単一のスプライトのオフセットを設定できます)。簡単なことだけを行う場合は、JavaScript は必要ありません。

于 2010-01-27T15:34:35.567 に答える
0

サーバーでの処理オーバーヘッドはそれだけの価値がありますか?

私は今、C#についてこれについて考えています。追加された複雑さをトレードして、動的イメージを作成し、それらをクライアントに送信して、個々のイメージアクセスを減らします。

少し分析する価値のあるトレードオフ。

于 2012-10-12T09:20:07.650 に答える