我對(duì)你這個(gè)大圖計(jì)算寬度和高度非常不理解,什么是圖片的真實(shí)寬度,window的寬度乘以高度除以寬度是什么意思??一直理解不了為什么不直接用window的寬度減去圖片寬度除已2???求解釋你這個(gè)公式的意思

逍遙_0005
2014-07-08
4 回答
舉報(bào)
0/150
提交
取消
2014-08-05
我的理解:
var realw = winHeight * w/h;
var realh = winWidth * h/w;
圖片要看起來協(xié)調(diào)就要保證圖片放大縮小時(shí)縱橫比不變, 而圖片本身的縱橫比是 h / w 或者 橫縱 比是 w / h,
所以當(dāng)圖片比較長(zhǎng),也就是豎圖時(shí),需求是把窗口高度(winHeight) 當(dāng)做真實(shí)展示高度,我們就需要按下面這個(gè)比例關(guān)系 來求圖片展示的寬度(realw),把除數(shù)拿到右面不就是乘法么。。
realw / winHeight = w / h
同理當(dāng)圖片比較寬時(shí),也就是橫圖時(shí),需求是把窗口寬度(winWidth)當(dāng)做真實(shí)展示寬度,我們就需要按下面這個(gè)比例關(guān)系 來求圖片展示的高度(realh)
realh / winWidth = h / w
2014-08-03
還是不明白,為什么是(圖片的寬度乘以窗口的高度)除以真實(shí)的高度??還有我做的為什么圖片是一般高度???我用firebug試了一下,發(fā)現(xiàn)貌似是canvas的問題啊。。。
2014-07-20
實(shí)際上就是先計(jì)算縮放比。
2014-07-13
如果直接用window的寬度減去圖片寬度除以2,在圖片高度與窗口高度相等的情況下沒錯(cuò),但是當(dāng)圖片高度小于或者大于窗口高度時(shí),圖片需要縮放來適應(yīng)窗口,因此需要圖片的寬度乘以(window的高度除以高度)。