【发布时间】:2012-12-12 12:48:17
【问题描述】:
简要说明
我目前正在构建一个包含三列的画廊,每列包含所有宽度相同但高度可以变化的图像。
列的图像从一个目录中收集并使用 PHP glob() 函数放入一个数组中。这是最简单的部分...
画廊外观示例:
问题
由于这些图像是动态加载并放入列中的,因此列的高度可能会有很大差异。
例如,如果将两张纵向照片放在第 1 列,将两张风景照片放在第 2 列,则这些列会非常不均匀,如下所示:
列的高度不太可能匹配,但我希望它们与给定的图像尽可能接近,因此想形成一个算法来查看检索到的图像并将它们放置在要返回高度尽可能接近的三列的列。
因此,例如,该脚本将通过重新排序图像并按如下方式放置它们来纠正上述问题:
如果我有正确的算法,我可以写这个,我只是想不出最好的步骤来做到这一点。任何人都可以建议任何步骤吗?
可能的解决方案
我想到的一种方法(我认为会有更好的方法,因为我认为这是有缺陷的):
- 将所有图像的高度相加,然后除以列数 (3)。这将为我们提供目标高度
- 将图像分配到列数组中,当超过列的高度时,溢出到下一列。
- 将任何剩余的图像放入第一列,然后放入第二列等...
提前致谢
【问题讨论】:
标签: php image gallery sinemacula