为了账号安全,请及时绑定邮箱和手机立即绑定

我对你这个大图计算宽度和高度非常不理解,什么是图片的真实宽度,window的宽度乘以高度除以宽度是什么意思??一直理解不了为什么不直接用window的宽度减去图片宽度除已2???求解释你这个公式的意思

正在回答

4 回答

我的理解:

var realw = winHeight * w/h;

var realh = winWidth * h/w;

图片要看起来协调就要保证图片放大缩小时纵横比不变, 而图片本身的纵横比是 h / w  或者 横纵 比是 w / h,

所以当图片比较长,也就是竖图时,需求是把窗口高度(winHeight) 当做真实展示高度,我们就需要按下面这个比例关系 来求图片展示的宽度(realw),把除数拿到右面不就是乘法么。。

realw / winHeight  = w / h   

同理当图片比较宽时,也就是横图时,需求是把窗口宽度(winWidth)当做真实展示宽度,我们就需要按下面这个比例关系 来求图片展示的高度(realh)

realh / winWidth = h / w  


0 回复 有任何疑惑可以回复我~

还是不明白,为什么是(图片的宽度乘以窗口的高度)除以真实的高度??还有我做的为什么图片是一般高度啊?我用firebug试了一下,发现貌似是canvas的问题啊。。。

0 回复 有任何疑惑可以回复我~

实际上就是先计算缩放比。

0 回复 有任何疑惑可以回复我~

如果直接用window的宽度减去图片宽度除以2,在图片高度与窗口高度相等的情况下没错,但是当图片高度小于或者大于窗口高度时,图片需要缩放来适应窗口,因此需要图片的宽度乘以(window的高度除以高度)。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
移动端的WEB相册
  • 参与学习       47967    人
  • 解答问题       217    个

本课程通过一个移动端相册案例,带您一步步了解移动端框架

进入课程
意见反馈 帮助中心 APP下载
官方微信