微信小程序媒體組件 image

2022-05-11 16:10 更新

微信小程序image


圖片。

屬性名 類型 默認值 說明
src String   圖片資源地址
mode String 'scaleToFill' 圖片裁剪、縮放的模式
binderror HandleEvent   當錯誤發(fā)生時,發(fā)布到AppService的事件名,事件對象event.detail = { errMsg: 'something wrong' }
bindload HandleEvent   當圖片載入完畢時,發(fā)布到AppService的事件名,事件對象event.detail = {height:'圖片高度px', width:'圖片寬度px'
}

注:image組件默認寬度300px、高度225px

mode 有效值:

mode有13種模式,其中4種是縮放模式,9種是裁剪模式。

模式 說明
縮放 scaleToFill 不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素
縮放 aspectFit 保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來。也就是說,可以完整地將圖片顯示出來。
縮放 aspectFill 保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來。也就是說,圖片通常只在水平或垂直方向是完整的,另一個方向將會發(fā)生截取。
縮放 widthFix 寬度不變,高度自動變化,保持原圖寬高比不變
裁剪 top 不縮放圖片,只顯示圖片的頂部區(qū)域
裁剪 bottom 不縮放圖片,只顯示圖片的底部區(qū)域
裁剪 center 不縮放圖片,只顯示圖片的中間區(qū)域
裁剪 left 不縮放圖片,只顯示圖片的左邊區(qū)域
裁剪 right 不縮放圖片,只顯示圖片的右邊區(qū)域
裁剪 top left 不縮放圖片,只顯示圖片的左上邊區(qū)域
裁剪 top right 不縮放圖片,只顯示圖片的右上邊區(qū)域
裁剪 bottom left 不縮放圖片,只顯示圖片的左下邊區(qū)域
裁剪 bottom right 不縮放圖片,只顯示圖片的右下邊區(qū)域


示例:

<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>
Page({
  data: {
    array: [{
      mode: 'scaleToFill',
      text: 'scaleToFill:不保持縱橫比縮放圖片,使圖片完全適應'
    }, {
      mode: 'aspectFit',
      text: 'aspectFit:保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來'
    }, {
      mode: 'aspectFill',
      text: 'aspectFill:保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來'
    }, {
      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: '../../resources/cat.jpg'
  },
  imageError: function(e) {
    console.log('image3發(fā)生error事件,攜帶值為', e.detail.errMsg)
  }
})

原圖

image

scaleToFill

不保持縱橫比縮放圖片,使圖片完全適應

image

aspectFit

保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來

image

aspectFill

保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來

image

top

不縮放圖片,只顯示圖片的頂部區(qū)域

image

bottom

不縮放圖片,只顯示圖片的底部區(qū)域

image

center

不縮放圖片,只顯示圖片的中間區(qū)域

image

left

不縮放圖片,只顯示圖片的左邊區(qū)域

image

right

不縮放圖片,只顯示圖片的右邊邊區(qū)域

image

top left

不縮放圖片,只顯示圖片的左上邊區(qū)域

image

top right

不縮放圖片,只顯示圖片的右上邊區(qū)域

image

bottom left

不縮放圖片,只顯示圖片的左下邊區(qū)域

image

bottom right

不縮放圖片,只顯示圖片的右下邊區(qū)域

image

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號