【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%') }}复制代码
划线
评论
复制
发布于: 刚刚阅读数: 8
zhongcx
关注
还未添加个人签名 2024-09-27 加入
还未添加个人简介









评论