HarmonyOS6 RcImage 组件填充模式与形状系统设计(一)
在鸿蒙应用开发中,图片展示是最基础也最复杂的场景之一。无论是用户头像、商品列表还是背景图,不同的业务需求对图片的缩放、裁剪和圆角处理都有严格要求。为了提升开发效率,统一视觉规范,我们封装了 RcImage 组件,重点解决了填充模式与形状系统的底层逻辑。
本文深入探讨 RcImage 组件的核心设计,剖析如何通过算法策略实现灵活且直观的图片展示效果。
填充模式系统
类型定义
RcImage 支持五种标准填充模式,对应 ArkUI 的 ImageFit 枚举:
/** 图片填充模式类型 */
export type RcImageFit = 'contain' | 'cover' | 'fill' | 'none' | 'scale-down'
模式对比
| 模式 | 原理 | 宽高比 | 裁剪 | 留白 | 适用场景 |
|---|---|---|---|---|---|
| contain | 完整显示,等比缩放 | 保持 | ❌ | ✅ | 证件照、商品详情 |
| cover | 填满容器,等比缩放 | 保持 | ✅ | ❌ | 头像、封面图 |
| fill | 拉伸填满容器 | 不保持 | ❌ | ❌ | 纯色背景、图案 |
| none | 原始尺寸居中 | 保持 | 可能 | 可能 | 小图标、徽章 |
| scale-down | contain 和 none 较小者 | 保持 | ❌ | 可能 | 缩略图、预览 |


