Java:如何在尽可能小的表面上绘制图像?

时间:2010-12-13 19:09:38

标签: java image puzzle model-fitting

假设我有256张图片,平均大小为70x150(因此,大小如果可变)。我有一个Graphic - 实例(从具有给定大小的BufferedImage创建),我想在其上绘制图像。但我想在尽可能低的表面绘制它们。所以,不仅仅是在一个网格中,而是相互困惑。但是!:他们可能不会互相重叠。

也许这只是人类大脑才能管理的东西 值得一提的是,我想......

提前致谢,
马亭

例如:

+------++------+
|      ||      |
| img1 || img2 |
|      |+------+
|      |+-----------------+
+------+|                 |
+---+   |                 |
| 3 |   |                 |
|   |   |    img 4        |
+---+   |                 |
        |                 |
        +-----------------+

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

基本上,您要求knapsack problem.

的解决方案

对于任意大小的背包问题,没有最优算法,因为它是NP难问题。

有很多次优算法: