本文編輯: 心城瀏覽 4534
版權(quán)所有,嚴(yán)禁轉(zhuǎn)載
image,我想在應(yīng)用中使用的最多的是圖片了,用我的想法來(lái)形容,界面好不好看,最主要是圖好不好,在小程序有一個(gè)image標(biāo)簽,和html的img標(biāo)簽是差不多的,但是還是有一點(diǎn)差別的,別的不逼逼了(我是一個(gè)做后臺(tái)的,稍微懂一點(diǎn)前端的基本知識(shí)和一些框架),詳細(xì)看后面的內(nèi)容
wxml
<view class="textTitle">原圖片</view>
<image src="{{imgSrc}}" mode="scaleToFill"></image>
<view class="page">
<view class="page__hd">
<text class="page__title">image</text>
<text class="page__desc">圖片</text>
</view>
<view class="page__bd">
<view class="section section_gap" wx:for="{{array}}" wx:for-item="item">
<view class="section__title">{{item.text}}</view>
<view class="section__ctn">
<image style="width: 200px; height: 200px; background-color: #eeeeee;" mode="{{item.mode}}" src="{{src}}"></image>
</view>
</view>
</view>
</view>
js
Page({
data: {
imgSrc:"http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg",
array: [{
mode: 'scaleToFill',
text: 'scaleToFill:不保持縱橫比縮放圖片,使圖片完全適應(yīng)'
}, {
mode: 'aspectFit',
text: 'aspectFit:保持縱橫比縮放圖片,使圖片的長(zhǎng)邊能完全顯示出來(lái)'
}, {
mode: 'aspectFill',
text: 'aspectFill:保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來(lái)'
}, {
mode: 'top',
text: 'top:不縮放圖片,只顯示圖片的頂部區(qū)域'
}, {
mode: 'bottom',
text: 'bottom:不縮放圖片,只顯示圖片的底部區(qū)域'
}, {
mode: 'center',
text: 'center:不縮放圖片,只顯示圖片的中間區(qū)域'
}, {
mode: 'left',
text: 'left:不縮放圖片,只顯示圖片的左邊區(qū)域'
}, {
mode: 'right',
text: 'right:不縮放圖片,只顯示圖片的右邊邊區(qū)域'
}, {
mode: 'top left',
text: 'top left:不縮放圖片,只顯示圖片的左上邊區(qū)域'
}, {
mode: 'top right',
text: 'top right:不縮放圖片,只顯示圖片的右上邊區(qū)域'
}, {
mode: 'bottom left',
text: 'bottom left:不縮放圖片,只顯示圖片的左下邊區(qū)域'
}, {
mode: 'bottom right',
text: 'bottom right:不縮放圖片,只顯示圖片的右下邊區(qū)域'
}],
src: 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg'
},
imageError: function(e) {
console.log('image3發(fā)生error事件,攜帶值為', e.detail.errMsg)
}
})
屬性 | 類型 | 默認(rèn)值 | 說明 |
---|---|---|---|
src | String | 圖片資源地址 | |
mode | String | scaleToFill等 | 圖片裁剪、縮放的模式 |
binderror | HandleEvent | 當(dāng)錯(cuò)誤發(fā)生時(shí),發(fā)布到 AppService 的事件名,事件對(duì)象event.detail = {errMsg: ‘something wrong’} | |
bindload | HandleEvent | 當(dāng)圖片載入完畢時(shí),發(fā)布到 AppService 的事件名,事件對(duì)象event.detail = {height:’圖片高度px’, width:’圖片寬度px’} |
注:image組件默認(rèn)寬度300px、高度225px
mode有12種模式,其中3種是縮放模式,9種是裁剪模式。
3種縮放模式
縮放模式 | 說明 |
---|---|
scaleToFill | 不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素 |
aspectFit | 保持縱橫比縮放圖片,使圖片的長(zhǎng)邊能完全顯示出來(lái)。也就是說,可以完整地將圖片顯示出來(lái)。 |
aspectFill | 保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來(lái)。也就是說,圖片通常只在水平或垂直方向是完整的,另一個(gè)方向?qū)?huì)發(fā)生截取。 |
9種裁剪模式
裁剪模式 | 說明 |
---|---|
top | 不縮放圖片,只顯示圖片的頂部區(qū)域 |
bottom | 不縮放圖片,只顯示圖片的底部區(qū)域 |
center | 不縮放圖片,只顯示圖片的中間區(qū)域 |
left | 不縮放圖片,只顯示圖片的左邊區(qū)域 |
right | 不縮放圖片,只顯示圖片的右邊區(qū)域 |
top left | 不縮放圖片,只顯示圖片的左上邊區(qū)域 |
top right | 不縮放圖片,只顯示圖片的右上邊區(qū)域 |
bottom left | 不縮放圖片,只顯示圖片的左下邊區(qū)域 |
bottom right | 不縮放圖片,只顯示圖片的右下邊區(qū)域 |