javascript - 视频墙布局
问题描述
给定一个stageW by stageH,以及N个(任意)大小的视频srcVideoW by srcVideoH,如何最好地布局视频以覆盖最大覆盖范围?视频可以放大或缩小,但应按比例(纵向或横向)以匹配的高度进行缩放。
let VideoCount = $("#Stage").find('video').length;
let stageW = $("#Stage").outerWidth();
let stageH = $("#Stage").outerHeight();
$("#Stage").find('video').each(function() {
var srcVideoW = this.videoWidth;
var srcVideoH = this.videoHeight;
var BestWidth = 0;
var BestHeight = 0;
// Magical Javascript goes here
$(this).css("float", "left");
$(this).css("display", "inline-block");
$(this).css("width", BestWidth+"px");
$(this).css("height", BestHeight+"px");
}
最可能的布局是:如果只有 1 个视频,它可能会占用舞台宽度和高度,如果 2 个并排,3 个也连续,从大约 4 个开始,它可能是最好的两个第一排,第二排两个……等等
解决方案
推荐阅读
- python-3.x - 使用 MQTT 模拟物联网
- azure - 在 Azure IoT Edge 中从模块 A 向模块 B 发送大约 1000 MB 的巨大数据字节
- flutter - 如果我无法将 Future 函数分配给 onPressed 怎么办?
- php - 在 Laravel 中的 BETWEEN 查询中添加括号?
- android - 使用扫描线填充算法后,轮廓边缘有空隙(未填充)
- asp.net-mvc - UseExceptionHandler 不适用于 ExceptionHandlingPath
- javascript - CORS 策略已阻止从源“http://localhost:3000”访问“https://randomuser.me/api/?results=4”获取:
- javascript - json树结构的文件路径
- javascript - 对底部放置空单元格的 HTML 表格进行排序
- python - 将元素插入到特定索引处的列表中