C#从某些图像生成图像(2048x2048)的算法

时间:2010-12-24 04:01:49

标签: bin-packing texture-packing

我想做的是创建一个图像(在我的情况下为2048x2048) 该算法应该以这种方式工作:

- 用户从文件夹中选择一些图像并告诉我的程序“生成图像”

- 程序检查是否可以将所有图像放在单个图像中(尺寸问题),否则返回错误信息

- 程序找到正确的方法将所有图像放入图像中,然后提示用户选择一个保存路径(显然旧的图像不应调整大小/切割)

这个问题显然是最后一步,我实际上并不知道怎么做,程序应该检查另一件事,如果图像文件名是myimage_1并且有一个“myimage_2”那些图像应该是放在彼此附近(对于3,4等等,相同)

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:1)

对我来说,它看起来像是一个多维背包问题。 更多信息here。 可能当然有简单的解决方案,因为我不是域上的专家,我的算法类远远落后于我!无论如何,它可能会有助于启动线程:)

你或许也可以通过调整一个简单的贪婪算法来解决这个问题,但它当然不会给出最佳解决方案,然后肯定会导致你的第二步出现一些漏报。