HarmonyOS Next快速入门:Image组件

举报
鸿蒙开发工程师 发表于 2025/06/23 15:53:25 2025/06/23
【摘要】 ##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##Image组件用来渲染展示图片,它可以让界面变得更加丰富多彩。例如:按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg、gif和heif。Image组件数据源本地资源:存放在ets文件夹下,引用根目录ets文件夹下的...

##HarmonyOS Next快速入门##HarmonyOS应用开发##教育##

Image组件用来渲染展示图片,它可以让界面变得更加丰富多彩。

例如:按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现,Image支持多种图片格式,包括png、jpg、bmp、svg、gif和heif。

Image组件数据源

  • 本地资源:存放在ets文件夹下,引用根目录ets文件夹下的资源路径即可。
  • Resource资源:通过$r资源接口读取并转换到Resource格式。
  • 网络资源:引用网络地址,需在module.json5文件中申明网络访问权限ohos.permission.INTERNET。
  • 媒体库file://data/storage。支持file://路径前缀的字符串,用于访问通过选择器提供的图片路径。
  • 多媒体像素图:PixelMap是图片解码后的像素图,将加载的网络图片返回的数据解码成PixelMap格式,再显示在Image组件上。

图片地址:
在module.json5文件中申明网络访问权限:

{
    "module" : {
        "requestPermissions":[
           {
             "name": "ohos.permission.INTERNET"
           }
        ]
    }
}

Image组件可显示矢量图(svg格式的图片),使用fillColor属性改变图片的绘制颜色。

.fillColor(value: ResourceColor)

设置缩放类型:objectFit属性

.objectFit(value: ImageFit)

ImageFit枚举类型:

  • ImageFit.Contain:保持宽高比进行缩小或者放大,使得图片完全显示在显示边界内。
  • ImageFit.Cover(默认值):保持宽高比进行缩小或者放大,使得图片两边都大于或等于显示边界。
  • ImageFit.Auto:自适应显示。
  • ImageFit.Fill:不保持宽高比进行放大缩小,使得图片充满显示边界。
  • ImageFit.ScaleDown:保持宽高比显示,图片缩小或者保持不变。
  • ImageFit.None:保持原有尺寸显示。

代码实例:ImagePage

@Entry
@Component
struct ImagePage {
  @State message: string = 'Image组件';

  build() {
    Column({space:6}) {
      Text(this.message)
        .fontSize(30)
        .fontWeight(FontWeight.Bold)

      Image('images/panda.jpg').width(100)

      Image($r('app.media.cat')).width(100)
      Image($r('app.media.cat')).width(100).height(200).objectFit(ImageFit.Fill)

      Image('https://imagepphcloud.thepaper.cn/pph/image/208/499/752.jpg').width("100%")

      Image($r('app.media.add')).width(50).fillColor(Color.Blue)
    }
    .height('100%')
    .width('100%')
  }
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。