2012-06-22 18 views
1

我正在研究一个涉及显示大量照片的有趣项目。每张照片都是不同的大小。我希望尽可能调整它们的大小,以便它们能够组合在一个网格中,有些类似于针对JQuery的Masonry.js插件或Apple's iPhoto Journals像照片显示一样的石工调整大小/拟合算法

有没有人做过这样的事情?我应该采取这个方向的任何指针?我想用服务器端来完成,最好使用Python,但我真的很想搞清楚它背后的算法。

回答

2

这是一个难题。它归结为决定你最关心的约束,并牺牲其他。例如,注意砌体将所有内容强制为固定宽度的列,iPhoto日志放置在方形网格上。两者都牺牲了页面布局的照片边缘。

我们在Tabblo的这些方面尝试了很多算法,它们都需要放弃一些东西。

惠普有一个算法叫做块状递归图像合成(BRIC),它非常适用于实现良好的平衡。

+0

当然。我对追求像iPhoto日记本这样的解决方案最感兴趣。它看起来像最小单位尺寸,1x1,由最小的照片使用。然后,所有其他照片都符合这个比例,2x2,2x3等。 – nathancahill

+0

嗯,你也说你想尽量调整它们的大小。照片不是正方形或正方形的倍数,所以您将在边缘丢失内容。而且你仍然需要弄清楚如何将方块放在一起。 –

+0

对,我正在考虑在特定区域内,这些1x1尺度可能会根据该地区的地点的照片而具有不同的值。 – nathancahill