<image>
用于展示不同类型的图片,包括网络图片、静态资源和本地存储的图片。
本功能依赖 Lynx Service 提供的图片加载服务
使用指南
<image> 是一个空元件,不再支持子节点。
以下示例展示了 <image> 元件在不同场景下的应用。
展示不同裁剪/缩放模式的图片
支持使用 mode 控制图片裁剪/缩放模式。
图片添加边框、圆角和背景
可通过 CSS 样式设置图片的边框、圆角和背景颜色。
图片添加特殊绘制效果
支持高斯模糊等特殊绘制效果。
自适应原图宽高比例
支持使用 auto-size 自动调整 <image> 尺寸以匹配原图 比例。
监听图片加载成功/失败
可通过绑定事件监听图片的加载状态。
属性
src Required
指定要显示的图片 URL。
当前支持的图片格式包括:png、jpg、jpeg、bmp、gif 和 webp。
暂不支持 svg 格式。如需渲染 svg,可参考自定义元件自行实现。
前端内置资源请参照静态资源处理进行配置,否则发布后图片可能会无法正确展示。
mode
指定图片裁剪/缩放模式:
-
scaleToFill(默认):不保持纵横比,拉伸图片以填满<image>。 -
aspectFit:保持纵横比缩放,使图片的完整内容可见。 -
aspectFill:保持纵横比缩放,使短边填充<image>元件,可能导致部分内容裁剪。 -
center:不对图片进行缩放,图片将居中显示。
placeholder
需要展示的占位图的路径,具体使用方法和限制与 src 相同。
blur-radius
图片高斯模糊的模糊半径。
prefetch-width/prefetch-height
提供图片排版宽高为0时发起请求的能力。
一般在需要提 前加载图片的场景使用,设置大小建议和实际排版宽高大小保持一致。
cap-insets
9patch 图缩放区域,四个值分别是上、右、下、左,需要是具体数值,不支持百分比和小数。
使用 cap-insets 并不需要原图是 9patch 图
cap-insets-scale
配合 cap-insets 一同使用,调整最后拉伸时计算的像素位置。
loop-count
动图播放次数,默认为循环播放。
image-config Android
指定图像数据格式,有两种取值:
ARGB_8888:每个像素占用 32 位内存,支持半透明图片(包含 alpha 通道)。
RGB_565:每个像素占用 16 位内存,可以减少内存占用,但会丢失透明度。
PC 平台自 3.5 起支持。
影响图片 bitmap 的实际内存占用。
以一个分辨率为 1024*768 的图片为例,实际占用内存大小为(1024*768*像素位数/8)Bytes。
默认值为 ARGB_8888。前端可以通过设置为 RGB_565 来优化图片内存占用。
ARGB_8888:每个像素占用 32 bits 内存,并包含 alpha 通道。
RGB_565:每个像素占用 16 bits 内存,可以减少内存占用,但会导致透明度丢失。
设置为 RGB_565 可能会影响 <image> 的 border-radius 展示。你可以将 border-radius 设置在 <image> 的父 view 上,并在父 view 上添加 clip-radius 属性。
不建议在 mode="aspectFit" 时使用 RGB_565,因为可能会在裁剪区域出现黑边。
auto-size
当该属性为 true 且 <image> 没有宽或高时,在图片下载成功后会根据图片大小重新计算并修改 <image> 大小,保证 <image> 宽高比和图片宽高比一致。
defer-src-invalidation
当该属性为 true 时,<image> 会在一次新的加载成功后才清除已展示的图片资源。
默认行为是在新一次加载发起前清除。
可以解决图片 src 切换之后重新加载导致的闪烁问题,list 等存在视图节点复用的场景不建议打开。
autoplay
是否在动图加载完成之后自动开始播放,默认为自动开始播放。
tint-color
将所有非透明像素的颜色更改为 tint-color 声明的颜色,属性取值为 color。
事件
前端可以在元件上绑定相应事件回调来监听元件的运行时行为,使用方法如下。



