2009-04-08 11 views
4

私は「すでにSPRITEをゲット!」..セクション最適なレイアウトアルゴリズム

http://weblogs.asp.net/zowens/archive/2008/03/05/css-sprite-for-asp-net.aspx

をこの記事に基づいて、私のASP.NETアプリケーションでのCSSスプライトセットアップを実施しています ...著者は言う...

"これは本当に面白いのは、すべての画像が縦に並んでいるということだけですが、他のほとんどのジェネレータはどういうわけか、画像を縦横に並べます。

これは私の質問がであるため、以前に解決された問題であるに違いないと確信しています。「四角形のコレクションを考えると、効率的にこれらを最適な方法でレイアウトできますか?(私はそれが最適の定義に依存していると考えますが、開始点として正方形に最も近い可能性がありますが(実際にはそうではないかもしれませんが))また、すべての長方形が事前に必要ですか?漸進的に行われますか?

+0

ほとんどのコンピュータでは、縦型レイアウトではキャッシュの動作がはるかに優れています([Internet Explorerのアニメーション化されたロゴがフレームを縦に並べるのはなぜですか](http://blogs.msdn.com/oldnewthing/archive/2005/08 /05/448073.aspx))。正方形が最適であると言う背後にある理由は何ですか?なぜあなたはリンク先のページが参照のローカリティを欠点と考えていますか? –

答えて

5

これは、長方形のパッキングの問題として知られています。非常に単純なケースでも、最適な解を見つけることはNPハードですが、しばしば良いヒューリスティックがあります。グーグル矩形のパッキングは、興味深いアルゴリズムとコードを提供します。

+0

ここグーグルがここに来るでしょう。ヒントではなくソリューションを投稿する:-) – Sklivvz