给定宽高比的树状图

4
我希望创建一个TreeMap,使用图片填充treemap矩形。我可以假设所有图片都具有相同的宽度和高度(即纵横比)。因此,我需要一个treemapping算法来创建具有给定比率的矩形,这样我就能把图片放在那里(如果需要,还可以缩放图片)。
你能推荐一个吗?

如果树状图中的图片具有不同的比例,那么是什么决定了每个图像的相对大小? - Albin Sunnanbo
1
边缘情况:假设您有三个与您想要绘制的TreeMap具有相同纵横比的图像(为了更容易地考虑它,您可以首先假设它们都是正方形)。您将如何在treemap中缩放和适配这三个图像?您可以在画笔中绘制一个丑陋的图形并包含在您的问题中。 - Albin Sunnanbo
1个回答

8
一般情况下,这个问题是无解的- Albin Sunnanbo提供了反例证明。假设您的边界矩形与目标矩形具有相同的长宽比,您可以通过将边界矩形缩放为正方形,在其上运行 squarified treemap[pdf]算法,然后再缩放回一个矩形来获得足够好的解决方案。由于squarified treemap不能保证完美的正方形,因此您的最终矩形可能不会具有完美的长宽比,但在实践中,它可能不会过度扭曲您的图片。
一个好的改进方法是对您的图片进行seam carving处理,以适应稍微偏离长宽比的矩形;例如,如果您正在使用它来组装拼贴画,则应该能够获得视觉上令人满意的结果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接