微信小程式 圖片等比例縮放

不言
發布: 2018-06-23 14:59:15
原創
10414 人瀏覽過

這篇文章主要介紹了微信小程式圖片等比例縮放(圖片自適應螢幕)的相關資料,需要的朋友可以參考下

微信小程式圖片等比例縮放

早上在論壇上看到有人寫了關於圖片等比例縮放的文章,只是判斷了圖片寬是否大於屏幕寬.我之前在做Android的時候也會遇到圖片等比例縮放的問題.應該是用圖片寬高比和螢幕寬高比做判斷.做個筆記.

老規矩,先上圖.

1 .圖片高寬比小於螢幕高寬比


#2.圖片高寬比大於螢幕高寬比


3.這種其實也是圖片高寬比小於螢幕高寬比,但是高寬都大於螢幕高寬.所以不能簡單用高寬來判斷,應該是用高寬比判斷後做縮放.


上程式碼:


1.index.wxml

<!--index.wxml--> 
<!--图片宽大于屏幕宽--> 
<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagefirstsrc}}" bindload="imageLoad"></image> 
<!--图片高大于屏幕高--> 
<!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagesecondsrc}}" bindload="imageLoad"></image>--> 
<!--图片宽高大于屏幕宽高--> 
<!--<image style="width: {{imagewidth}}px; height: {{imageheight}}px;" src="{{imagethirdsrc}}" bindload="imageLoad"></image>-->
登入後複製


2.index.js

//index.js 
//获取应用实例 
var imageUtil = require(&#39;../../utils/util.js&#39;); 
var app = getApp() 
Page({ 
 data: { 
  imagefirstsrc: &#39;http://bpic.588ku.com/back_pic/00/03/85/1656205138bbe2d.png&#39;,//图片链接 
  imagesecondsrc: &#39;http://bpic.588ku.com/back_pic/04/07/63/28581203949ca9d.jpg!/fw/400/quality/90/unsharp/true/compress/true&#39;,//图片链接 
  imagethirdsrc:&#39;http://img1.gtimg.com/ent/pics/hv1/13/71/2061/134034643.jpg&#39;, 
  imagewidth: 0,//缩放后的宽 
  imageheight: 0,//缩放后的高 
 
 }, 
 onLoad: function () { 
 }, 
 imageLoad: function (e) { 
  var imageSize = imageUtil.imageUtil(e) 
  this.setData({ 
   imagewidth: imageSize.imageWidth, 
   imageheight: imageSize.imageHeight 
  }) 
 } 
})
登入後複製


3.util.js

//util.js 
function imageUtil(e) { 
 var imageSize = {}; 
 var originalWidth = e.detail.width;//图片原始宽 
 var originalHeight = e.detail.height;//图片原始高 
 var originalScale = originalHeight/originalWidth;//图片高宽比 
 console.log(&#39;originalWidth: &#39; + originalWidth) 
 console.log(&#39;originalHeight: &#39; + originalHeight) 
 //获取屏幕宽高 
 wx.getSystemInfo({ 
  success: function (res) { 
   var windowWidth = res.windowWidth; 
   var windowHeight = res.windowHeight; 
   var windowscale = windowHeight/windowWidth;//屏幕高宽比 
   console.log(&#39;windowWidth: &#39; + windowWidth) 
   console.log(&#39;windowHeight: &#39; + windowHeight) 
   if(originalScale < windowscale){//图片高宽比小于屏幕高宽比 
    //图片缩放后的宽为屏幕宽 
     imageSize.imageWidth = windowWidth; 
     imageSize.imageHeight = (windowWidth * originalHeight) / originalWidth; 
   }else{//图片高宽比大于屏幕高宽比 
    //图片缩放后的高为屏幕高 
     imageSize.imageHeight = windowHeight; 
     imageSize.imageWidth = (windowHeight * originalWidth) / originalHeight; 
   } 
    
  } 
 }) 
 console.log(&#39;缩放后的宽: &#39; + imageSize.imageWidth) 
 console.log(&#39;缩放后的高: &#39; + imageSize.imageHeight) 
 return imageSize; 
} 
 
module.exports = { 
 imageUtil: imageUtil 
}
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:
關於微信小程式上傳圖片到伺服器的程式碼

微信小程式實作點擊按鈕修改字體顏色的功能

######

以上是微信小程式 圖片等比例縮放的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!