2016-01-13 76 views

回答

0

该视频要么触摸左右边框,要么触摸顶部和底部边框。这两种情况之间的分水岭是当它触及所有四个边界时。它何时发生?当视频和窗口的宽高比相同时会发生这种情况。所以你有两个用例通过比较纵横比来区分。

首先,计算宽高比并对它们进行比较。 (建议重新排列术语以避免被零除)。然后,计算用于拉伸视频的系数。如果视频触及窗口的左右边界,则系数是窗口宽度和视频宽度之间的比率。否则,系数从高度计算。

将视频居中在窗口中很简单。

所以该算法是这样的:

if videoX/videoY > windowX/windowY then 
    stretch the video by windowX/videoX 
else 
    stretch the video by windowY/videoY 
end if 
center the video