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