# image

图片。

# 使用示例


扫码预览
用BoosHi扫码或PC端点击
<template>
  <view class="demo-ui-page">
    <view class="demo-title">image 图片</view>
    <demo-cell title="网络图片" TBPadding="0">
      <image style="width: 150px; height: 150px;" src="https://histatic.zhipin.com/front/images/hwP5vXLNdnbtQGLr1SrjVk_1366x768.jpeg" />
    </demo-cell>
    <demo-cell title="本地相对路径图片" TBPadding="0">
      <image style="width: 150px; height: 150px;" src="../../../static/image/night.jpeg" />
    </demo-cell>
    <demo-cell title="裁剪方式" subTitle="mode=aspectFill(默认scaleToFill)" TBPadding="0">
      <image style="width: 150px; height: 150px;" mode="aspectFill"  src="https://histatic.zhipin.com/front/images/hwP5vXLNdnbtQGLr1SrjVk_1366x768.jpeg" />
    </demo-cell>
  </view>
</template>

<script>
	export default {
	}
</script>

<style>

</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
展开 刷新 关闭

# 属性说明

属性名 类型 默认值 说明
src String 图片资源地址
mode String 'scaleToFill' 图片裁剪、缩放的模式
@error HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: 'something wrong'}
@load HandleEvent 当图片载入完毕时,发布到 AppService 的事件名,事件对象event.detail = {height:'图片高度px', width:'图片宽度px'}

# 注意事项

  • <image> 组件默认宽度 320px、高度 240px
  • 页面结构复杂,css样式太多的情况,使用 image 可能导致样式生效较慢,出现 “闪一下” 的情况,此时设置 image{will-change: transform} ,可优化此问题。
  • 对于 svg 格式的图片, 小程序上只支持网络地址。
  • 对于 webp 图片, Android4以上(含)、iOS14以上(含)系统内置支持 webp,小程序才可以使用 webp;
  • src 仅支持相对路径、绝对路径,和 base64 码;

# src 传值说明

模式 举例值 说明
网络地址 https://www.xxxx.com/img/xxxx.png 获取远程网络/CND 平台的 xxx 图片
相对路径 /static/xxx.png 获取项目根目录下的 static 文件夹下的 xxx 图片
相对路径 ../static/xxx.png 获取相对于当前文件的上级目录中 static 文件夹下的 xxx 图片
相对路径 xxx.png 或 ./xxx.png 获取当前目录下的 xxx 图片
base64 data:image/png;base64,iVBORw...AAA 使用 base64 编码的图片

注: 客户端 3.4 之前版本(基础库 1.0.2 以下)使用相对路径可能展示不出图片,可使用网络地址和 base64 代替

# mode 有效值

mode 有 14 种模式,其中 5 种是缩放模式,9 种是裁剪模式。

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

# 示例代码

原图

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

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

kzimg

最后更新于 : 12/15/2022, 2:18:25 PM