課程
/前端開發
/WebApp
/移動端的WEB相冊
我對你這個大圖計算寬度和高度非常不理解,什么是圖片的真實寬度,window的寬度乘以高度除以寬度是什么意思??一直理解不了為什么不直接用window的寬度減去圖片寬度除已2???求解釋你這個公式的意思
2014-07-08
源自:移動端的WEB相冊 3-7
正在回答
我的理解:
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
還是不明白,為什么是(圖片的寬度乘以窗口的高度)除以真實的高度??還有我做的為什么圖片是一般高度啊?我用firebug試了一下,發現貌似是canvas的問題啊。。。
實際上就是先計算縮放比。
如果直接用window的寬度減去圖片寬度除以2,在圖片高度與窗口高度相等的情況下沒錯,但是當圖片高度小于或者大于窗口高度時,圖片需要縮放來適應窗口,因此需要圖片的寬度乘以(window的高度除以高度)。
舉報
本課程通過一個移動端相冊案例,帶您一步步了解移動端框架
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2014-08-05
我的理解:
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
2014-08-03
還是不明白,為什么是(圖片的寬度乘以窗口的高度)除以真實的高度??還有我做的為什么圖片是一般高度啊?我用firebug試了一下,發現貌似是canvas的問題啊。。。
2014-07-20
實際上就是先計算縮放比。
2014-07-13
如果直接用window的寬度減去圖片寬度除以2,在圖片高度與窗口高度相等的情況下沒錯,但是當圖片高度小于或者大于窗口高度時,圖片需要縮放來適應窗口,因此需要圖片的寬度乘以(window的高度除以高度)。