2011-02-26 102 views
4

我想创建一个TreeMap,使用照片填写treemap矩形。我可以假定所有的图片具有相同的宽度和高度(即宽高比)。因此,我需要一个treemapping算法来创建具有给定比例的矩形,我是否可以将图片放在那里(也可以根据需要缩放图片)。矩形式树状结构绘图法与给定的纵横比

你能推荐一个吗?

+0

如果该图片有不同规模的树形图,在这种情况下,是什么决定了每个图像的相对大小? – 2011-02-26 20:44:07

+1

边缘情况:假设您有三幅与您想绘制的TreeMap具有相同高宽比的图像(为了便于考虑,可以先假定它们都是正方形)。你将如何在树形图中缩放和合适这三个图像?您可以在画笔中绘制一幅丑陋的图画,并将其包含在您的问题中。 – 2011-02-26 20:48:02

回答

8

一般来说,解决方案是不可能的 - 阿尔宾Sunnanbo提供通过反证明。假设您的边界矩形与目标矩形具有相同的纵横比,则可以通过将边界矩形缩放为正方形,运行其上的squarified treemap [pdf]算法,然后缩小回到一个矩形。由于squarified treemap不能保证完美的正方形,所以最终的长方形将没有完美的长宽比,但实际上它可能不会过度扭曲图片。

一个很好的细化将是运行seam carving传过你的照片来适合他们入稍微过宽高比矩形;例如,如果您正在使用此功能组装拼贴画,则应该从视觉上获得令人满意的效果。