10

我想知道是否有人知道任何适合将 N 个未知大小的矩形组合成尽可能小的包含矩形的算法。

最佳我的意思是减少生成的包含矩形中剩余的空白量。

我想用它从一系列图像中生成 css 精灵。

非常感谢,

伊恩

4

4 回答 4

2

我认为您所描述的是“二维装箱”问题的变体。唯一的区别是您拥有这些项目并试图找到最小的矩形。

这篇调查文章是一个好的开始。

于 2010-06-08T15:42:02.723 回答
1

通过将图像打包成方形纹理西蒙的答案,我得到了这个链接http://code.activestate.com/recipes/442299/

我没有检查食谱,但它似乎允许使用非方形容器。

于 2010-06-08T15:36:19.633 回答
1

保证和最佳解决方案的唯一方法是暴力破解答案。当您有多个矩形时,这对于个人计算机来说很快就会变得难以管理,并允许旋转。

维基百科有一篇关于包装问题的好文章 http://en.wikipedia.org/wiki/Packing_problem

于 2010-06-08T16:18:08.477 回答
0

这是快速打包算法的一个很好的描述 - http://www.codeproject.com/KB/web-image/rectanglepacker.aspx

于 2012-01-03T01:59:23.040 回答