中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序如何動態設置圖片的高度和寬度

發布時間:2021-07-02 14:57:48 來源:億速云 閱讀:946 作者:小新 欄目:web開發

這篇文章主要介紹了微信小程序如何動態設置圖片的高度和寬度,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

前言:

在小程序布局中,如果圖片不是固定高度和高度,但image設置的是固定的高度和寬度,這時候原始圖片相對image設置的固定高度和寬度不是等比例大小,那么這張圖片就會變形,變的不清晰。這時就可以使用下面的等比例縮放的方式縮放圖片,讓圖片不變形。或者通過image的bindload方法動態的獲取圖片的高度和寬度,動態的設置圖片的高度和寬度,是圖片布局的高度和寬度和原始圖片的高度和寬度相等。

1.圖片等比例縮放工具

//Util.js 
 
class Util{ 
 
  /*** 
   * 按照顯示圖片的寬等比例縮放得到顯示圖片的高 
   * @params originalWidth 原始圖片的寬 
   * @params originalHeight 原始圖片的高 
   * @params imageWidth   顯示圖片的寬,如果不傳就使用屏幕的寬 
   * 返回圖片的寬高對象 
  ***/ 
  static imageZoomHeightUtil(originalWidth,originalHeight,imageWidth){ 
    let imageSize = {}; 
    if(imageWidth){ 
      imageSize.imageWidth = imageWidth; 
      imageSize.imageHeight = (imageWidth * originalHeight) / originalWidth; 
    }else{//如果沒有傳imageWidth,使用屏幕的寬 
      wx.getSystemInfo({  
        success: function (res) {  
          imageWidth = res.windowWidth;  
          imageSize.imageWidth = imageWidth; 
          imageSize.imageHeight = (imageWidth * originalHeight) / originalWidth; 
        }  
      }); 
    } 
    return imageSize; 
  } 
 
  /*** 
   * 按照顯示圖片的高等比例縮放得到顯示圖片的寬 
   * @params originalWidth 原始圖片的寬 
   * @params originalHeight 原始圖片的高 
   * @params imageHeight  顯示圖片的高,如果不傳就使用屏幕的高 
   * 返回圖片的寬高對象 
  ***/ 
  static imageZoomWidthUtil(originalWidth,originalHeight,imageHeight){ 
    let imageSize = {}; 
    if(imageHeight){ 
      imageSize.imageWidth = (imageHeight *originalWidth) / originalHeight; 
      imageSize.imageHeight = imageHeight; 
    }else{//如果沒有傳imageHeight,使用屏幕的高 
      wx.getSystemInfo({  
        success: function (res) {  
          imageHeight = res.windowHeight; 
          imageSize.imageWidth = (imageHeight *originalWidth) / originalHeight; 
          imageSize.imageHeight = imageHeight; 
        }  
      }); 
    } 
    return imageSize; 
  } 
 
} 
 
export default Util;

2.使用image組件加載圖片,通過bindload動態的獲取圖片的高度和寬度,動態的設置圖片的高度和寬度   index.wxml  (../pro.png是本地圖片)

<image bindload="imageLoad"  src="../pro.png"/>

index.js

import Util from '../common/Util'; 
 
Page({ 
 data:{ 
    imageWidth:0, 
    imageHeight:0 
 }, 
 imageLoad: function (e) {  
    //獲取圖片的原始寬度和高度 
    let originalWidth = e.detail.width; 
    let originalHeight = e.detail.height; 
    //let imageSize = Util.imageZoomHeightUtil(originalWidth,originalHeight); 
 
    //let imageSize = Util.imageZoomHeightUtil(originalWidth,originalHeight,375); 
    let imageSize = Util.imageZoomWidthUtil(originalWidth,originalHeight,145); 
 
    this.setData({imageWidth:imageSize.imageWidth,imageHeight:imageSize.imageHeight});  
 } 
})

感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序如何動態設置圖片的高度和寬度”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

凤山县| 台州市| 开化县| 碌曲县| 金门县| 抚州市| 洞头县| 苏州市| 绩溪县| 容城县| 工布江达县| 龙岩市| 甘南县| 铜梁县| 牡丹江市| 兴隆县| 龙门县| 霸州市| 夏津县| 波密县| 彭泽县| 丰顺县| 遵义市| 彰化市| 安塞县| 房产| 馆陶县| 阳高县| 扶余县| 新龙县| 府谷县| 内江市| 津市市| 仙居县| 林芝县| 湖北省| 秭归县| 长宁区| 松潘县| 全椒县| 墨脱县|