av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

關于圖片按比例自適應縮放

今天在看視覺規(guī)范的時候,大高走過來說幫他們那邊看一個問題。又是一個關于自適應的問題。不過,我喜歡。瞄了一下,需求是這樣的:用戶上傳照片,照片的尺寸未知;需要生成一個預覽,這個預覽圖要根據(jù)提供給用戶預覽的區(qū)域自應用,并且居中;如果圖片太大,需要按比例縮放。如下圖。

創(chuàng)新互聯(lián)公司專注于阿榮企業(yè)網(wǎng)站建設,響應式網(wǎng)站,電子商務商城網(wǎng)站建設。阿榮網(wǎng)站建設公司,為阿榮等地區(qū)提供建站服務。全流程按需網(wǎng)站設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務

 

瞄了一下,居中可以用 text-align:center; 來實現(xiàn)。而按比例縮放,利用預設 的 width 、height 屬性解決不了。因為用戶圖片可能是很長的,也可能是很寬的。在線上想了一下他們的關系,按條件來判斷是這樣的:

 
 
 
 
  1. if(實際寬度 > 預覽最大寬度)   
  2. {  
  3.     縮放寬度 = 預覽最大寬度  
  4. }  
  5. if(實際高度 > 預覽最大高度)  
  6. {  
  7.     縮放高度 = 預覽最大高度  

但是這樣會有問題,比如當寬度和高度都被縮放,如果縮放比較不同,圖片就不是按比例縮放,會變得非常丑。為了讓它按比例縮放,就需要做各種判斷了。那這樣就違背了我們希望程序自動化的原則了。

再想想,雖然不喜歡數(shù)學,但數(shù)學還是很好用的,應該有其他辦法。而既然是按比例縮放,何不用實際圖像和預覽區(qū)域寬度作的比例來計算他們關系?hmmmm… 果然 OK。實際上我們永遠都只需要縮放寬度或高度中的其中一個。因為比例只有大和小種情況。具體的,寫一個函數(shù)來實現(xiàn)它吧:

 
 
 
 
  1. /**  
  2.  * 圖片按比例自適應縮放  
  3.  * @param img {Element} 用戶上傳的圖片  
  4.  * @param maxWidth {Number} 預覽區(qū)域的最大寬度  
  5.  * @param maxHeight {Number} 預覽區(qū)域的最大高度  
  6.  */  
  7. var resizeImg = function(img, maxWidth, maxHeight){  
  8.         var w = img.width,  
  9.                h = img.height;  
  10.  
  11.         // 當圖片比預覽區(qū)域小時不做任何改變  
  12.         if(w < maxWidth && h < maxHeight) return;          
  13.  
  14.         // 當實際圖片比例大于預覽區(qū)域寬高比例時  
  15.         // 縮放圖片寬度,反之縮放圖片寬度  
  16.         w/h > maxWidth/maxHeight  ? img.width = maxWidth : img.height = maxHeight;  
  17.     }; 

網(wǎng)站標題:關于圖片按比例自適應縮放
網(wǎng)頁URL:http://uogjgqi.cn/article/djcijeo.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流