我們都知道微信小程序的組件image是用來(lái)顯示圖片的,它有一下幾個(gè)屬性:
創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供虎林企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為虎林眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
1、src 圖片資源地址
2、mode 圖片裁剪、縮放的模式
3、binderror 當(dāng)錯(cuò)誤發(fā)生時(shí),發(fā)布到 AppService 的事件名,事件對(duì)象event.detail = {errMsg: ‘something wrong'}
4、bindload 當(dāng)圖片載入完畢時(shí),發(fā)布到 AppService 的事件名,事件對(duì)象event.detail = {height:'圖片高度px', width:'圖片寬度px'}
但是image有默認(rèn)的固定的寬度和高度,這樣我們?cè)谧鰣D片自適應(yīng)的時(shí)候,就不好做了,特別是我們?cè)谧鲆恍┥唐吩斍轫?yè)的時(shí)候,需要image自適應(yīng)屏幕,按原圖比例顯示。那么如何讓image自適應(yīng)比例顯示呢?可以有兩種方法:
一、使用mode:widthFix
widthFix:寬度不變,高度自動(dòng)變化,保持原圖寬高比不變。
首先我們先設(shè)置image的mode為widthFix,然后給圖片加一個(gè)固定rpx的寬度,比如:730rpx。
這樣圖片也可以自適應(yīng)了。。因?yàn)樾〕绦虻膔px本身就是一個(gè)自適應(yīng)顯示的單位
二、使用bindload綁定函數(shù)動(dòng)態(tài)自適應(yīng)。
我們可以給image綁定一個(gè)函數(shù),這個(gè)函數(shù),如上面的bindload說(shuō)明一樣,我們可以獲取到原圖的寬度和高度。
然后計(jì)算他們的寬高比率。。然后設(shè)置一個(gè)寬度大小(rpx),最后通過(guò)style動(dòng)態(tài)設(shè)置image的寬高。代碼如下:
html代碼:
<image src="{{ item }}" bindload="imageLoad" data-index="{{ index }}" ></image>
js代碼:
Page({ data: { images:{} }, imageLoad: function(e) { var $width=e.detail.width, //獲取圖片真實(shí)寬度 $height=e.detail.height, ratio=$width/$height; //圖片的真實(shí)寬高比例 var viewWidth=718, //設(shè)置圖片顯示寬度,左右留有16rpx邊距 viewHeight=718/ratio; //計(jì)算的高度值 var image=this.data.images; //將圖片的datadata-index作為image對(duì)象的key,然后存儲(chǔ)圖片的寬高值 image[e.target.dataset.index]={ width:viewWidth, height:viewHeight } this.setData({ images:image }) } })
最后,我們就可以可以通過(guò)images[index].width
和 images[index].height
給每一個(gè)圖片設(shè)置寬高了。
效果如下圖所示:
總結(jié)
以上所述是小編給大家介紹的微信小程序動(dòng)態(tài)設(shè)置圖片大小的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
當(dāng)前標(biāo)題:微信小程序動(dòng)態(tài)設(shè)置圖片大小的方法
網(wǎng)頁(yè)路徑:http://www.yijiale78.com/article39/poosph.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、虛擬主機(jī)、靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)、定制開(kāi)發(fā)、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)