当前位置: 首页 > article >正文

鸿蒙中的Image组件如何引用网络图片

1.引用网络图片资源

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

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

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

代码示例

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

image-20241127083344732

  1. 在保证图片地址可以访问的情况下,将地址写入Image组件当中

以我的图片网络地址为例

https://img-blog.csdnimg.cn/img_convert/0bac102fe78698223fd63e80deee14b2.png"
@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属性设置占位图,然后就能成功显示了

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

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

        .width(100)

        .height(100)
@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


http://www.kler.cn/a/412546.html

相关文章:

  • [创业之路-155] :《领先的密码-BLM方法论全面解读与应用指南》- 综合管理框架
  • 用Java爬虫“搜刮”工厂数据:一场数据的寻宝之旅
  • 用两个栈实现队列 剑指offer
  • PointNet++论文复现
  • MQ高级2:MQ的可靠性
  • 设计模式——MVC模式
  • 吉利汽车x文心快码:AI最佳实践案例
  • Matlab 2016b安装教程附安装包下载
  • 电视网络机顶盒恢复出厂超级密码大全汇总
  • 深入理解 Java 基本语法之数组
  • 项目自动化部署,持续集成/持续交付(CI/CD)工具有那些?他们的优劣势分别是什么?共计15个工具进行对比分析。
  • C++虚函数面试题及参考答案
  • 如何为 ext2/ext3/ext4 文件系统的 /dev/centos/root 增加 800G 空间
  • ms-hot28 合并两个有序数组
  • 基于RAG的企业文档智能检索系统设计与实践
  • TCP/IP 协议:网络世界的基石(2/10)
  • C/C++语言基础--C++字符串实现的三种方法(eager copy、cow、sso)
  • JavaEE 【知识改变命运】03 多线程(2)
  • java——@Transactional 在哪些情况下会失效?
  • 基于Java的Nacos云原生动态服务发现、配置和服务管理平台设计源码
  • deepin社区与此芯科技完成产品兼容性认证
  • 南京移动携手南大打造江苏首个直通高校智算项目
  • docker compose启动springcloud微服务案例
  • 数据结构 (13)串的应用举例
  • Day50 | 动态规划 :线性DP 最大子数组和不同的子序列
  • 如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?