記錄一下image的使用,比較簡單。 1.先看一下屬性。
注:image組件默認寬度300px、高度225px mode 有效值: mode 有 13 種模式,其中 4 種是縮放模式,9 種是裁剪模式。
2.wxml代碼↓ <view> <text>imagetext> <view> <view wx:for="{{array}}" wx:for-item="item"> <view class="imageText">{{item.text}}view> <view class="imageContent"> <image class="imageStyle" mode="{{item.mode}}" src="{{src}}" binderror='imageError'>image> view> view> view> view> ①array中mode定義了圖片的裁剪、縮放模式,text定義了圖片的注解,src圖片源,均在js文件中進行定義。 data: { src: '../../resources/image/bing.jpg', array: [{ mode: 'scaleToFill', text: 'scaleToFill:不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素' }, { mode: 'aspectFit', text: 'aspectFit:保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來。也就是說,可以完整地將圖片顯示出來。' }, { mode: 'aspectFill', text: 'aspectFill:保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來。也就是說,圖片通常只在水平或垂直方向是完整的,另一個方向將會發生截取。' }, { mode: 'widthFix', text: 'widthFix:寬度不變,高度自動變化,保持原圖寬高比不變' }, { mode: 'top', text: 'top:不縮放圖片,只顯示圖片的頂部區域' }, { mode: 'bottom', text: 'bottom:不縮放圖片,只顯示圖片的底部區域' }, { mode: 'center', text: 'center:不縮放圖片,只顯示圖片的中間區域' }, { mode: 'left', text: 'left:不縮放圖片,只顯示圖片的左邊區域' }, { mode: 'right', text: 'right:不縮放圖片,只顯示圖片的右邊邊區域' }, { mode: 'top left', text: 'top left:不縮放圖片,只顯示圖片的左上邊區域' }, { mode: 'top right', text: 'top right:不縮放圖片,只顯示圖片的右上邊區域' }, { mode: 'bottom left', text: 'bottom left:不縮放圖片,只顯示圖片的左下邊區域' }, { mode: 'bottom right', text: 'bottom right:不縮放圖片,只顯示圖片的右下邊區域' }] }, ②binderror監聽圖片錯誤,在js中實現,查看錯誤信息 imageError: function (e) { console.log('============================================') console.log('image發生error事件,攜帶值為', e.detail.errMsg) console.log('============================================') } 如,設定一個無法訪問的src,控制臺輸出如下信息↓
3.效果圖
①scalToFill模式:完全適應image的width及height(在該例中,分別為280px和150px)
完整的對應位置如下圖所示↓
5.最后附上wxss的代碼 .imageStyle { width: 280px; height: 150px; background: #ddd; } .imageText { margin-top: 20px; } .imageContent { width: 100%; height: 100%; display: flex; justify-content: center; }
其中imageContent保證了圖片的性質 |