成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 前端
在處理網頁圖片時,特別是一些圖片列表的應用里面,很難保證圖片統(tǒng)一大小,直接設置圖片大小又會導致圖片拉伸,造成圖片模糊,本文介紹的代碼可以在圖片加載完成后自動按比例調整圖片大小。

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

圖片自適應縮放

 

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

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

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

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

  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.     }; 

【編輯推薦】

  1. 技巧9 縮放特效--實現文字縮放動畫
  2. 調用DIV元素和SPAN元素分組多元素
  3. Web化加速瀏覽器成PC“臉面”
  4. 高性能WEB開發(fā)之flush讓頁面分塊逐步呈現
責任編輯:于鐵 來源: 幸福收藏夾
相關推薦

2014-04-15 13:09:08

Android配色colour

2017-04-13 11:20:37

圖片寬度解決方案前端

2017-06-06 10:30:12

前端Web寬度自適應

2010-08-30 09:52:03

DIV高度自適應

2012-05-09 10:58:25

JavaMEJava

2014-09-05 10:10:32

Android自適應布局設計

2010-08-30 10:26:20

DIV自適應高度

2023-07-31 08:24:34

MySQL索引計數

2022-04-12 07:48:57

云技術SDN網絡

2024-05-22 09:31:07

2023-10-23 08:48:04

CSS寬度標題

2025-01-21 08:00:00

自適應框架框架開發(fā)

2009-04-23 11:24:09

2022-10-24 17:57:06

CSS容器查詢

2017-08-16 14:08:46

Android O圖標視覺

2010-08-26 16:27:46

CSS高度

2010-08-30 09:22:13

DIV高度自適應

2025-03-12 00:00:22

2023-08-28 08:00:45

2015-06-08 10:49:04

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本高清不卡视频 | 久久综合久色欧美综合狠狠 | 午夜精品久久久久久久久久久久 | 国产精品免费一区二区三区四区 | 亚洲一区二区电影在线观看 | 黄色三级免费网站 | 日日夜夜av | 一本色道精品久久一区二区三区 | 欧美男人亚洲天堂 | 日韩一二三区视频 | 亚洲精品播放 | 乳色吐息在线观看 | 瑟瑟视频在线看 | 国产在线精品一区二区 | 精品国产一级 | 精品少妇一区二区三区日产乱码 | 亚洲 成人 在线 | www.五月婷婷.com | 免费观看一级特黄欧美大片 | 免费黄色的视频 | 国产精品久久国产愉拍 | 免费午夜视频在线观看 | 欧美久久久电影 | 欧美精品一区二区三区在线 | 97精品国产97久久久久久免费 | 国产资源在线观看 | 中文字幕国产视频 | av在线免费观看网址 | 亚洲精品日韩精品 | 亚av在线| 真人一级毛片 | 亚洲不卡在线观看 | 久久伊人在 | 国产成人免费视频网站视频社区 | 在线中文字幕视频 | 国产一区二区三区在线免费观看 | 欧美极品视频 | 国产成人午夜精品影院游乐网 | 亚洲国产日本 | 宅男噜噜噜66一区二区 | a在线观看 |