image

解释:图片

属性说明:

属性名类型默认值说明
srcString图片资源地址
modeStringscaleToFill图片裁剪、缩放的模式
lazy-loadBooleanfalse图片懒加载。只针对 scroll-view 下的 image 有效
binderrorHandleEvent当错误发生时,发布到 AppService 的事件名,事件对象 event.detail = {errMsg: ‘something wrong’}
bindloadHandleEvent当图片载入完毕时,发布到 AppService 的事件名,事件对象 event.detail = {height:’图片高度px’, width:’图片宽度px’}

image 组件默认宽度 300px、高度 225px。

mode 有效值: 有 13 种模式,其中 4 种是缩放模式,9 种是裁剪模式。

模式说明
缩放scaleToFill不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
缩放aspectFit保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
缩放aspectFill保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
缩放widthFix宽度不变,高度自动变化,保持原图宽高比不变
裁剪top不缩放图片,只显示图片的顶部区域
裁剪bottom不缩放图片,只显示图片的底部区域
裁剪center不缩放图片,只显示图片的中间区域
裁剪left不缩放图片,只显示图片的左边区域
裁剪right不缩放图片,只显示图片的右边区域
裁剪top left不缩放图片,只显示图片的左上区域
裁剪top right不缩放图片,只显示图片的右上区域
裁剪bottom left不缩放图片,只显示图片的左下区域
裁剪bottom right不缩放图片,只显示图片的右下区域

说明:支持设置 CSS background-position 属性,但是不推荐使用,会影响对应 mode 类型的展示。

示例:在开发者工具中预览效果

  1. <view class="wrap">
    <view>
    <text>image</text>
    <text>图片</text>
    </view>
    <view>
    <view s-for="item in test">
    <view>{{item.text}}</view>
    <view>
    <image style="width: 200px; height: 200px; background-color: #eeeeee;" mode="{{item.mode}}" src="{{src}}"></image>
    </view>
    </view>
    </view>
    </view>

  1. Page({
    data: {
    test: [
    {
    mode: 'scaleToFill',
    text: 'scaleToFill:不保持纵横比缩放图片,使图片完全适应'
    },
    {
    mode: 'aspectFit',
    text: 'aspectFit:保持纵横比缩放图片,使图片的长边能完全显示出来'
    },
    {
    mode: 'aspectFill',
    text: 'aspectFill:保持纵横比缩放图片,只保证图片的短边能完全显示出来'
    },
    {
    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:不缩放图片,只显示图片的右下边区域'
    }
    ],
    src: '../../images/image8.jpg'
    }
    });

原图

图片

scaleToFill**不保持纵横比缩放图片,使图片完全适应**

图片

aspectFit**保持纵横比缩放图片,使图片的长边能完全显示出来**

图片

aspectFill**保持纵横比缩放图片,只保证图片的短边能完全显示出来**

图片

top**不缩放图片,只显示图片的顶部区域**

图片

bottom**不缩放图片,只显示图片的底部区域**

图片

center**不缩放图片,只显示图片的中间区域**

图片

left**不缩放图片,只显示图片的左边区域**

图片

right**不缩放图片,只显示图片的右边边区域**

图片

top left**不缩放图片,只显示图片的左上边区域**

图片

top right**不缩放图片,只显示图片的右上边区域**

图片

bottom left**不缩放图片,只显示图片的左下边区域**

图片

bottom right**不缩放图片,只显示图片的右下边区域**

图片