[英]Images packing algorithm in javascript
我想创建一个图像列表,其中包含与您查看相册时相同的图像:
因此,输入数据为:
infinite
已知width
和height
的图像列表 width
和无限高度的container
一些涵盖可能情况的ascii场景:
|------------------|------------------|------------------|
| | | |
| Normal tile | Normal tile | Normal tile |
| | | |
|------------------|------------------|------------------|
| | |
| Landscape tile | |
| | |
|------------|------------------------|------------------|
| | | |
| Smaller | Landscape tile | Normal tile |
| | | |
|------------|--|------------------|--|------------------|
| | | |
| Portrait tile | Normal tile | Larger tile |
| | | |
| |------------------|---------------------|
| | | |
| | Larger tile | Normal tile |
| | | |
|---------------|---------------------|------------------|
我考虑过使用D3 js中的Treemap算法,但是由于我不知道容器的高度,因此我不确定这是否是正确的选择。
这是包装问题。
任何帮助或想法将不胜感激!
更新
可以缩放或裁剪图像以更好地适合布局,这是可以接受的。 因此,例如,如果有一个正方形瓷砖可以填充一行并且当前图像是人像,则该算法可以将图像缩放到可用宽度并将其裁剪到可用高度,或者反过来。
设置图块的最小可接受面积和该行的标准高度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.