亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

這篇文章主要給大家介紹了關(guān)于微信小程序如何獲取圖片寬度與高度的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

起源

最近在做A需求, 其中有個(gè)小功能點(diǎn)描述如下: 從配置端返回張圖片, 期望寬度不變(750)、高度根據(jù)圖片自適應(yīng).

我以為的

// 為便于講解, 將css作為style屬性綁定[實(shí)際不推薦]&& src的值先寫(xiě)死[后期改成接口返回的即可]
<view style="width:100%;">
    <image src="{{src}}"></image>
</view>

我一開(kāi)始想到的就是: 設(shè)置內(nèi)容區(qū)的width: 100%會(huì)自動(dòng)占滿屏幕寬度, 高度就會(huì)自適應(yīng).


微信小程序如何獲取圖片寬度與高度


實(shí)際效果: image占據(jù)空間為: 屏幕寬度 x 0

解決方案

核心: 解決如何獲取圖片的高度

初級(jí)方案

重點(diǎn): 在圖片加載完成后獲取對(duì)應(yīng)的圖片信息.

經(jīng)查小程序開(kāi)發(fā)文檔后發(fā)現(xiàn), 有提供加載成功的回調(diào), 如下:


微信小程序如何獲取圖片寬度與高度


演示Demo如下:

// wxml
<view style="width:100%;" >
    <image src="https://sf3-ttcdn-tos.pstatp.com/img/mosaic-legacy/3796/2975850990~300x300.image" bindload="loadSuccess" style="width:{{imageWidth}}px; height:{{imageHeight}}px"></image>
</view>
//js
Page({
    data: {
        imageHeight: 0,
        imageWidth: 0
    },
    loadSuccess(e){
        const { detail: {width, height} } = e
        this.setData({
            imageWidth: width,
            imageHeight:height
        })
    }
})

先來(lái)看看效果:


微信小程序如何獲取圖片寬度與高度


思考個(gè)問(wèn)題:  假設(shè)我有100張圖片都需要做自適應(yīng), 那么是不是多了很多繁瑣的setData(), 同時(shí)也會(huì)導(dǎo)致性能問(wèn)題.

進(jìn)階方案

經(jīng)朋友提醒后發(fā)現(xiàn), 小程序image還有個(gè)屬性叫做mode, 可以去設(shè)置圖片的裁剪&縮放等形式.


微信小程序如何獲取圖片寬度與高度


關(guān)于mode屬性的取值可選項(xiàng)如下圖:


微信小程序如何獲取圖片寬度與高度


話不多說(shuō), 我們看看實(shí)際效果如何:

// 750x110的圖片
<view style="width:100%;" >
    <image src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba1f75f0d29c40759b43ef910dacb4e7~tplv-k3u1fbpfcp-watermark.image" mode="widthFix"></image>
</view>
// 750x480的圖片
<view style="width:100%;" >
    <image src="https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ba1f75f0d29c40759b43ef910dacb4e7~tplv-k3u1fbpfcp-watermark.image" mode="widthFix"></image>
</view>

看看750x110的效果圖:


微信小程序如何獲取圖片寬度與高度


再看看750x480的效果圖:


微信小程序如何獲取圖片寬度與高度


最后

該屬性主要是為了實(shí)現(xiàn)圖片的自適應(yīng)、換個(gè)角度來(lái)講, 主要是確保圖片不失真。

到了這里, 只需要把src的值改為接口返回的, 是不是就實(shí)現(xiàn)了寬度固定、高度自適應(yīng)的需求了~


分享到:
標(biāo)簽:微信小程序 獲取圖片寬度與高度
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定