用所有不同尺寸的图像填充 XY,减少白色 space 并且没有截断

Fill XY with images of all different sizes, reduce white space and no cutoffs

基本上,我需要能够打印大量图像,如果这些图像打印在 11x7(示例)上,我需要调整它们以便获得最小值 space上面的所有图片。

示例:

我不完全确定我将如何进行此操作,因为我能想到的所有内容都是截断图像,或者所有图像必须具有相同的大小,或者图像重叠的可能性。

如何以编程方式执行此操作?

这看起来像是一个已知的难题,称为二维切割库存问题。例如,参见 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.3.9465&rep=rep1&type=pdf, https://en.wikipedia.org/wiki/Cutting_stock_problem, and http://www2.inf.uos.de/papers_html/or_94/node3.html - 或仅搜索这些术语。