我想创建一个TreeMap
,使用图片填写treemap
矩形。我可以假设所有图片都具有相同的宽度和高度(即宽高比)。因此,我需要treemapping
算法来创建具有给定比率的矩形,我是否可以将图片放在那里(如果需要,可以缩放图片)。
你能推荐一个吗?
答案 0 :(得分:8)
一般来说,解决方案是不可能的 - Albin Sunnanbo通过反例提供了证据。假设您的边界矩形与目标矩形具有相同的纵横比,您可以通过将边界矩形缩放为正方形,在其上运行squarified treemap [pdf]算法来获得足够好的解决方案,并且然后缩放回矩形。由于方形树形图不能保证完美的正方形,因此您的最终矩形将不具有完美的宽高比,但在实践中它可能不会过多地扭曲您的图片。
一个很好的改进是对你的照片进行seam carving次传递,使它们适当地适应略微偏离的宽高比矩形;例如,如果您使用它来组装拼贴画,那么您应该从中获得视觉上令人愉悦的结果。