HarmonyOS Image加载pixelMap在onError回调中message显示empty sourceFailed to create image loader, Image source type not supported?

如题:HarmonyOS Image加载pixelMap在onError回调中message显示empty sourceFailed to create image loader, Image source type not supported?

阅读 446
1 个回答

可以参考下面的代码:

import http from '@ohos.net.http';
import image from '@ohos.multimedia.image';
import { BusinessError } from '@ohos.base';

@Entry
@Component
struct ImageToPixelMap {
  @State image: PixelMap | undefined = undefined;

  httpRequest() {
    http.createHttp().request("xxx", (error: BusinessError, data: http.HttpResponse) => {
      if (error) {
        console.error(`http reqeust failed with.Code: ${error.code}, message: $ { error.message }`);
      } else {
        console.error('http reqeust success.');
        let imageData: ArrayBuffer = data.result as ArrayBuffer;
        let imageSource: image.ImageSource = image.createImageSource(imageData);
        console.error(`http reqeust size = $ { imageData.byteLength }`);
        class tmp {
          height: number = 100;
          width: number = 100
        }
        let options: Record<string, number | boolean | tmp> = {
          'alphaType': 0, // 透明度 'editable': false, // 是否可编辑 'pixelFormat': 3, // 像素格式
          // 'scaleMode': 1, // 缩略值 'size': { height: 100, width: 100 } } // 创建图片大小
          imageSource.createPixelMap(options).then((pixelMap: PixelMap)=>{this.image = pixelMap })
      }
    })
  }
  build() {
    Column() {
      Button("获取网络图片").onClick(() = > { this.httpRequest() })
      Image(this.image).height(200).width(200)
    }
    .width('100%')
    .height('100%')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进