W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
圖片。支持 JPG、PNG、SVG、WEBP(iOS 不支持動(dòng)圖)、GIF 等格式。
使用 webview 嵌套 H5 時(shí),若遇到圖片資源不顯示問題,可參考 配置 H5 白名單流程 獲取 H5 頁(yè)面中所有的域名地址(含圖片靜態(tài)資源的地址),全部加入域名白名單中。
<!-- API-DEMO page/component/image/image.axml -->
<view class="page">
<view class="page-description">圖片</view>
<view class="page-section" a:for="{{array}}" a:for-item="item">
<view class="page-section-title">{{item.text}}</view>
<view class="page-section-demo" onTap="onTap">
<image class="image"
data-name="{{item.mode}}"
onTap="onTap"
mode="{{item.mode}}" src="{{src}}" onError="imageError" onLoad="imageLoad" />
</view>
</view>
</view>
// API-DEMO page/component/image/image.js
Page({
data: {
array: [{
mode: 'scaleToFill',
text: 'scaleToFill:不保持縱橫比縮放圖片,使圖片完全適應(yīng)',
}, {
mode: 'aspectFit',
text: 'aspectFit:保持縱橫比縮放圖片,使圖片的長(zhǎng)邊能完全顯示出來(lái)',
}, {
mode: 'aspectFill',
text: 'aspectFill:保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來(lái)',
}, {
mode: 'widthFix',
text: 'widthFix:寬度不變,高度自動(dòng)變化,保持原圖寬高比不變',
}, {
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: '/image/ant.png',
},
imageError(e) {
console.log('image 發(fā)生 error 事件,攜帶值為', e.detail.errMsg);
},
onTap(e) {
console.log('image 發(fā)生 tap 事件', e);
},
imageLoad(e) {
console.log('image 加載成功', e);
},
});
/* API-DEMO page/component/image/image.acss */
.page-section-demo {
display: flex;
justify-content: space-around;
}
.image {
background-color: red;
width: 100px;
height: 100px;
}
屬性 | 類型 | 默認(rèn)值 | 描述 | 最低版本 |
---|---|---|---|---|
src | String | - | 圖片地址。 | - |
mode | String | scaleToFill | 圖片模式。 | - |
class | String | 外部樣式 | - | - |
style | String | 內(nèi)聯(lián)樣式 | - | - |
lazy-load | Boolean | false | 支持圖片懶加載,不支持通過 css 來(lái)控制 image 展示隱藏的場(chǎng)景。 | 1.9.0 |
default-source | String | - | 默認(rèn)圖片地址,若設(shè)置默認(rèn)圖片地址,會(huì)先顯示默認(rèn)圖片,等 src 對(duì)應(yīng)的圖片加載成功后,再渲染對(duì)應(yīng)的圖片。 | 1.19.0 |
onLoad | EventHandle | - | 圖片載入完畢時(shí)觸發(fā),事件對(duì)象 event.detail = {height: '圖片高度px', width: '圖片寬度px'} 。 |
- |
onError | EventHandle | - | 當(dāng)圖片加載錯(cuò)誤時(shí)觸發(fā),事件對(duì)象 event.detail = {errMsg: 'something wrong' 。 |
- |
onTap | EventHandle | - | 點(diǎn)擊圖片時(shí)觸發(fā)。 | - |
catchTap | EventHandle | - | 點(diǎn)擊圖片時(shí)觸發(fā),阻止事件冒泡。 | - |
注意:image 組件默認(rèn)寬度 300px、高度 225px
mode 有 13 種模式,其中 4 種是縮放模式,9 種是裁剪模式。
屬性 | 描述 |
---|---|
scaleToFill | 不保持縱橫比縮放,使圖片的寬高完全拉伸至填滿 image 元素。 |
aspectFit | 保持縱橫比縮放,使圖片的長(zhǎng)邊能完全顯示出來(lái)。也就是說(shuō),可以完整地將圖片顯示出來(lái)。 |
aspectFill | 保持縱橫比縮放,只保證圖片的短邊能完全顯示出來(lái)。也就是說(shuō),圖片通常只在水平或垂直方向是完整的,另一個(gè)方向?qū)?huì)發(fā)生截取。 |
widthFix | 寬度不變,高度自動(dòng)變化,保持原圖寬高比不變。 |
屬性 | 描述 |
---|---|
top | 不縮放圖片,只顯示頂部區(qū)域。 |
bottom | 不縮放圖片,只顯示底部區(qū)域。 |
center | 不縮放圖片,只顯示中間區(qū)域。 |
left | 不縮放圖片,只顯示左邊區(qū)域。 |
right | 不縮放圖片,只顯示右邊區(qū)域。 |
top left | 不縮放圖片,只顯示左上邊區(qū)域。 |
top right | 不縮放圖片,只顯示右上邊區(qū)域。 |
bottom left | 不縮放圖片,只顯示左下邊區(qū)域。 |
bottom right | 不縮放圖片,只顯示右下邊區(qū)域。 |
說(shuō)明:圖片高度不能設(shè)置為 auto,如果需要圖片高度為 auto,直接設(shè)置 mode 為 widthFix。
小程序中顯示二進(jìn)制數(shù)據(jù)流的圖片,需要先將二進(jìn)制數(shù)據(jù)轉(zhuǎn)成 base64 字符串,然后把 base64 字符串放在 image 中的 src 中實(shí)現(xiàn)顯示。
建議把 mode 值設(shè)為 widthFix。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: