首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >harmony OS NEXT-Image组件如何引用网络图片

harmony OS NEXT-Image组件如何引用网络图片

原创
作者头像
骑老奶奶过马路
发布2025-03-30 16:45:20
发布2025-03-30 16:45:20
1.2K0
举报

1.引用网络图片资源

引入网络图片需要申请权限ohos.permission.INTERNET,此时,Image组件的src参数为网络图片的链接,为了成功加载网络图片,您需要在module.json5文件中申请网络访问权限

注意:实际可用的时候,首先需要保证网络地址可以访问,可以在浏览器中地址栏直接输如图像链接地址。同时,使用内网环境可能导致图片访问失败,可以断开网络代理尝试,接下来请看详细步骤

  1. 引入网络图片需要申请ohos.permission.INTERNET,可在module.json5文件中声明网络访问权限

代码示例

代码语言:ts
复制
  "requestPermissions": [
      {
        "name": "ohos.permission.INTERNET"
      }
    ]
image-20241127083344732
image-20241127083344732
  1. 在保证图片地址可以访问的情况下,将地址写入Image组件当中

以我的图片网络地址为例

代码语言:txt
复制
https://img-blog.csdnimg.cn/img_convert/0bac102fe78698223fd63e80deee14b2.png"
代码语言:ts
复制
@Entry
@Component
struct ImageExample {
  //Contain:保持宽高比例进行缩小或者放大,使得图片完全显示在显示边界内
  //Cover(默认值):保持宽高比进行缩小或者方法,使得图片两边都大于或等于显示边界
  //Auto:自适应显示
  //Fill:不保持宽高比进行放大或缩小,使图片充满显示边界
  //ScaleDown 保持宽高比显示,图片保持或者保持不变
  build() {
      Column() {
        Row() {
    Image("https://img-blog.csdnimg.cn/img_convert/0bac102fe78698223fd63e80deee14b2.png")
            .objectFit(ImageFit.Contain)
        }.width('100%')
      }.height('100%')
    .justifyContent(FlexAlign.Center)
    .backgroundColor(Color.Pink)
  }
}

但是图片并不会显示,这时候可以使用alt属性设置占位图,然后就能成功显示了

代码语言:TS
复制
Image("https://www.example.com/xxx.png")// 直接加载网络地址,请填写一个具体的网络图片地址

        .alt($r('app.media.icon'))// 使用alt,在网络图片加载成功前使用占位图

        .width(100)

        .height(100)
代码语言:tS
复制
@Entry
@Component
struct ImageExample {
  //Contain:保持宽高比例进行缩小或者放大,使得图片完全显示在显示边界内
  //Cover(默认值):保持宽高比进行缩小或者方法,使得图片两边都大于或等于显示边界
  //Auto:自适应显示
  //Fill:不保持宽高比进行放大或缩小,使图片充满显示边界
  //ScaleDown 保持宽高比显示,图片保持或者保持不变
  build() {
      Column() {
        Row() {
    Image("https://img-blog.csdnimg.cn/img_convert/0bac102fe78698223fd63e80deee14b2.png")
      .alt($r('app.media.icon'))// 使用alt,在网络图片加载成功前使用占位图
      .width(400)
      .height(400)
            .objectFit(ImageFit.Contain)
        }.width('100%')
      }.height('100%')
    .justifyContent(FlexAlign.Center)
    .backgroundColor(Color.Pink)
  }
}
image-20241127084126551
image-20241127084126551

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.引用网络图片资源
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档