保持原比例的视频缩放实现

设视频原宽度高度分别为:wa,wb

设视频的父容器的宽度高度分别为:ca,cb

设视频缩放后的宽度和高度分别为:w,h

现在要将视频的宽度高度缩放到其父容器的宽度和高度,但要保持原视频的宽高比例。

设b=wa/wb

第一种方法:已宽度为标准,即将原视频宽度wa缩放到ca大小。

设d=ca/b

如果d>cb,即缩放后高度大于容器的高度,此时通过容器的高度算出视频缩放后的宽度,

  设e=cb*b,即最后结果:w=e,h=cb;

如果d<cb,则w=ca,h=d;

如果d=cb,则w=ca,h=cb;

第二种方法:已高度为标准,即将原视频高度wb缩放到cb大小。

设d=cb*b

如果d>ca,即缩放后宽度超出容器宽度,此时通过容器宽度算出视频缩放后的高度

  设e=ca/b,即最后结果:w=ca,h=e;

如果d<ca,则w=d,h=cb;

如果d=ca,则w=ca,h=cb;

如果要将视频居中显示在父容器中,则视频的x,y坐标分别为:

x=ca/2-w/2;

y=cb/2-h/2;

posted @ 2011-05-07 01:23  ywxgod  阅读(2798)  评论(0编辑  收藏  举报