代码之家  ›  专栏  ›  技术社区  ›  madcapnmckay

以最佳方式将矩形装配在一起

  •  10
  • madcapnmckay  · 技术社区  · 15 年前

    我在想,是否有人知道任何一种算法,可以将未知大小的n个矩形拟合到可能包含矩形的最小矩形中。

    “最佳”是指减少结果包含矩形中剩余的空白量。

    我想用它从一系列图片中生成CSS精灵。

    多谢,

    伊恩

    4 回复  |  直到 11 年前
        1
  •  1
  •   Community CDub    8 年前

    通过 packing images into square texture Simon 我得到了这个链接的答案 http://code.activestate.com/recipes/442299/

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

        2
  •  2
  •   Marek Lipka    11 年前

    我认为你所描述的是“二维装箱”问题的变体。唯一的区别是,您拥有这些项,并且正在尝试查找最小的矩形。

    This 调查文章是一个良好的开端。

        3
  •  1
  •   Tom Gullen    15 年前

    唯一保证和最佳解决方案的方法就是强行给出答案。当你有几个矩形的时候,这很快就变成了个人电脑无法企及的问题,并考虑到旋转的可能性。

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

        4
  •  0
  •   Ali Gangji    13 年前

    下面是快速打包算法的良好描述- http://www.codeproject.com/KB/web-image/rectanglepacker.aspx