獲取img圖片原始尺寸程式碼例項
所謂的原始圖片尺寸是不經過css樣式定義或者img標籤的width和height屬性定義的尺寸。
而是最為放在那裡本來表現出來的尺寸,下面分享一段能夠相容所有瀏覽器的例項程式碼,需要的可以做一下參考。
程式碼例項如下:
[JavaScript] 純文字檢視 複製程式碼function getImgNaturalDimensions(img, callback) { var nWidth, nHeight; if (img.naturalWidth) { // 現代瀏覽器 nWidth = img.naturalWidth; nHeight = img.naturalHeight; callback(nWidth, nHeight) } else { // IE6/7/8 var imgae = new Image() image.onload = function() { callback(image.width, image.height) } image.src = img.src } }
上面的程式碼片段能夠實現我們的要求,下面對程式碼進行一下分析。
一.程式碼註釋:
(1).getImgNaturalDimensions(img, callback),第一個引數是img物件,第二個引數是一個回撥函式,也就是獲取尺寸後要乾的事情。
(2).var nWidth, nHeight,宣告兩個變數,用來儲存圖片的原始尺寸。
(3).if (img.naturalWidth),判斷當前瀏覽器是否支援naturalWidth,此屬性是HTML5新增的,IE9以下瀏覽器不支援。此屬效能夠獲取圖片的原始尺寸。
(4).nWidth = img.naturalWidth,將原始寬度賦值給變數。
(5).nHeight = img.naturalHeight,將原始高度賦值給變數。
(6).callback(nWidth, nHeight),呼叫回撥函式,做一些我們想做的事情。
(7).else {},如果是IE9以下瀏覽器。
(8).var imgae = new Image(),宣告一個圖片物件。
(9).image.onload = function() {
callback(image.width, image.height)
},為圖片物件註冊onload事件處理函式,也就是圖片載入完畢觸發。
(10).image.src = img.src,進行圖片地址賦值。從註釋8到這裡,其實也可以防止IE9以下瀏覽器由於快取不能觸發onload事件的現象,這裡不多介紹,具體可以參閱相關閱讀。
相關文章
- JavaScript獲取img的原始尺寸JavaScript
- 成品直播原始碼,例項原始碼系列-更改圖片透明度原始碼
- 獲取倒數第幾個元素程式碼例項
- app直播原始碼,Vue獲取URL圖片的寬高APP原始碼Vue
- React獲取元件例項React元件
- JavaScript取餘數程式碼例項JavaScript
- 成品直播原始碼,JAVA獲取圖片的寬、高和大小原始碼Java
- 直播軟體原始碼,Vue獲取URL圖片的寬高原始碼Vue
- 直播系統原始碼,快速實現改變圖片尺寸原始碼
- Python實現簡單網頁圖片抓取完整程式碼例項Python網頁
- 5種PHP生成圖片驗證碼例項PHP
- 【例項】使用GD庫生成圖片驗證碼
- 直播帶貨小程式原始碼中,商品詳情頁是如何獲取html圖片的原始碼HTML
- js圖片切換例項JS
- CSS 例項之翻轉圖片CSS
- 服務端使用 nodejs 獲取帶參微信小程式碼圖片服務端NodeJS微信小程式
- 兩步快速獲取小程式原始碼原始碼
- 批次修改圖片尺寸
- 127 PHP獲取網頁標題的3種實現方法程式碼例項PHP網頁
- iOS 獲取視訊圖片iOS
- 獲取本地圖片/視訊地圖
- 【API】隨機獲取圖片API隨機
- 用python寫個爬取指定網址上所有圖片,並能根據獲取到的圖片網址,進入網址,再次進行圖片獲取 的程式碼指令碼Python指令碼
- png圖片隱寫例項之隱藏二維碼
- 獲取當前Tomcat例項的埠Tomcat
- Nacos - 客戶端例項列表獲取客戶端
- 獲取AOSP原始碼原始碼
- HTML5獲取圖片的原始高度簡單介紹HTML
- ajax讀取資料庫資料程式碼例項資料庫
- JavaScript讀取文字檔案內容程式碼例項JavaScript
- 獲取網路圖片的大小
- JavaScript獲取背景圖片定位值JavaScript
- CSS3圖層陰影程式碼例項CSSS3
- 直播原始碼搭建教程之獲取相簿中的指定一個圖片後上傳原始碼
- CSS 設定<img>圖片樣式CSS
- app直播原始碼,js實現上傳圖片型別+大小+尺寸驗證APP原始碼JS型別
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(六)之全量獲取原始碼
- .NET控制檯獲取依賴注入例項依賴注入
- Vue原始碼解析:Vue例項Vue原始碼