小程序圖片自適應(yīng)縮放設(shè)置

圖片縮放

小程序的image組件提供了縮放的模式選擇,默認(rèn)的scaletofill就是設(shè)置固定的寬高模式比較少使用,更多的是需要自適應(yīng)寬高的情況。


image.png

slider的寬度固定高度自適應(yīng)

widthfix多適用于通欄,width:100%,高度不同設(shè)備自適應(yīng)的情況。此時(shí)會(huì)按照原圖比列自動(dòng)縮放高度,常用于輪播圖。


image.png

固定大小縮放一邊(保留高或?qū)挘?/h3>

aspectFill多用用在固定大小的范圍內(nèi)顯示,區(qū)別是可以保留一邊,除去通欄外一般用處較多。


image.png

固定大小居中縮放

個(gè)別情況下需要圖片始終居中縮放,多用在用戶(hù)頭像圓環(huán)之類(lèi),一般留在保留中心內(nèi)容的部分,文檔中暫沒(méi),需要單獨(dú)設(shè)置。

xx.wxml
<image  catchtouchend="endtap" bindload = "imgLoad"
 style="width:{{ imageWidth }}px;height:{{ imageHeight }}px;margin-left:{{marginLeft}}px;margin-top:{{marginTop}}px" mode="aspectFit" src="{{dataimg}}"></image>

data() {
  return {
   mariginLeft: [],
    mariginTop: [],
    imageWidth: [],
    imageHeight: [],
    screenWidth: 0,
  }
}
xx.js
imgLoad: function (e) {

      var index = e.currentTarget.id;
      //獲取圖片的原始寬度和高度 
      let originalWidth = e.detail.width;
      let originalHeight = e.detail.height;
      var mariginTopSize = 0;
      var mariginLeftSize = 0;
      let imageSize = imgUtil.imageZoomWidthUtil(originalWidth, originalHeight, 355);
      // 4:3
      mariginLeftSize = -(imageSize.imageWidth - this.data.screenWidth) / 2;
      var mariginLeft = this.data.mariginLeft;
      var imageWidth = this.data.imageWidth;
      var imageHeight = this.data.imageHeight;
      var mariginTop = this.data.mariginTop;
      mariginLeft[index] = mariginLeftSize
      imageWidth[index] = imageSize.imageWidth
      imageHeight[index] = imageSize.imageHeight
      mariginTop[index] = mariginTopSize
      this.setData({
        mariginLeft: mariginLeft,
        mariginTop: mariginTop,
        imageWidth: imageWidth,
        imageHeight: imageHeight,
      });
    },
onload() {
//獲取屏幕寬度
wx.getSystemInfo({
      success: function (res) {
        that.setData({
          screenWidth: res.windowWidth
        })
      }
    });
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容