写点什么

【HarmonyOS】鸿蒙图片下载加载方案

作者:zhongcx
  • 2024-10-15
    北京
  • 本文字数:675 字

    阅读完需:约 2 分钟

如果有些图片 url 用 Image 组件加载不显示,可以 request 下载后利用 PixelMap 加载。

需要网络权限:src/main/module.json5

    "requestPermissions": [      {        "name": "ohos.permission.INTERNET"      },
复制代码

src/main/ets/pages/Page010.ets

import { http } from '@kit.NetworkKit'import { image } from '@kit.ImageKit'
@Entry@Componentstruct Page010 { @State pixelMap: PixelMap | undefined = undefined @State imgUrl: string = 'https://xxx.jpg'
build() { Column() {
Text('加载url显示') Image(this.imgUrl).width('200lpx').height('200lpx') .onError((error: ImageError) => { console.info('error', JSON.stringify(error)) }) .onComplete((event) => { console.info('event', JSON.stringify(event)) }) Button('下载图片').onClick(() => { http.createHttp().request( this.imgUrl, { expectDataType: http.HttpDataType.ARRAY_BUFFER } ).then(async (res) => { console.info('res', JSON.stringify(res)) // 将图片资源转为像素图(PixelMap) this.pixelMap = await image.createImageSource(res.result as ArrayBuffer).createPixelMap() }).catch(() => { console.info('catch') }) }) Text('下载图片后显示') Image(this.pixelMap).width('200lpx') } .width('100%') .height('100%') }}
复制代码


用户头像

zhongcx

关注

还未添加个人签名 2024-09-27 加入

还未添加个人简介

评论

发布
暂无评论
【HarmonyOS】鸿蒙图片下载加载方案_鸿蒙_zhongcx_InfoQ写作社区