我正在开展一个涉及显示大量照片的有趣项目。每张照片都是不同的尺寸。我想尽可能少地调整它们,以便它们在网格中组合在一起,有些像JQuery的Masonry.js插件或Apple's iPhoto Journals。
以前有人做过这样的事吗?关于我应该采取的方向的任何指针?我想在服务器端做这个,最好使用Python,但我真的很想弄清楚它背后的算法。
答案 0 :(得分:2)
这是一个难题。归结为决定你最关心的约束,并牺牲其他约束。例如,请注意,砌体会将所有内容强制为固定宽度的列,并将iPhoto日记放置在方形网格上。两者都牺牲了照片边缘的页面布局。
我们在Tabblo沿着这些方向尝试了许多算法,它们都需要放弃一些东西。
HP拥有一种名为Blocked Recursive Image Composition(BRIC)的算法,该算法非常有效,可以达到很好的平衡。