上传者: 42151036
|
上传时间: 2021-06-15 15:20:57
|
文件大小: 761KB
|
文件类型: ZIP
体式画廊挑战
方法
第1部分:
我的前两个见解是:
每个图像的高度和宽度并不重要,只有高度与宽度的比率会影响算法。 换言之,一个100x50和1000x500图像将被相同地处理通过layoutFrames 。
从 UI 的角度来看,尝试使图像尽可能大是有意义的(考虑到我们的限制)。 换句话说, layoutFrames技术上可以缩小所有图像以适合单行,但是这样就很难查看图像。
鉴于这两点,我对layoutFrames实现如下:
首先构建第一行图像。
将图像缩放到其最大高度(给定maxRowHeight约束)并将其添加到第一行。
如果该行上有另一个图像的水平空间,请对下一个图像重复步骤 2。
继续向这一行添加图像,直到我们超出宽度约束。
然后,获取添加到该行的所有图像,并按比例缩小它们,使它们的组合宽度 + 填充等于最大宽度。
重复下一行(直到我们添加了所有图像)。
此