HarmonyOS 鸿蒙Next系统API如何将base64转成pixelMap

HarmonyOS 鸿蒙Next系统API如何将base64转成pixelMap 鸿蒙系统API如何将base64转成pixelMap
麻烦提供一下demo

3 回复

使用@ohos.util (util工具函数)模块的Base64Helper进行base64解码,获取Uint8Array对象,然后获取ArrayBuffer。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V14/js-apis-util-V14#decodesync9

ArrayBuffer转成PixelMap。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V14/js-apis-image-V14#imagecreateimagesource

base64转PixelMap:先将base64字符串解析成arraybuffer,然后利用这个arraybuffer构建新PixelMap,需要注意的是,使用decodeSync对base64字符串解码时,传入的base64字符串不能有’data:image/jpeg;base64,'这样的前缀

更多关于HarmonyOS 鸿蒙Next系统API如何将base64转成pixelMap的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


//将原始图片base64字符串转变为通过base64字符串
const reg = new RegExp('data:image/\\w+;base64,');
const base64Str = base64.replace(reg, '');
let base64Helper = new util.Base64Helper();
let arrayBuffer = base64Helper.decodeSync(base64Str).buffer as ArrayBuffer;
//将arrayBuffer转变为pixelMap
let imageSource = image.createImageSource(arrayBuffer);
let opts: image.DecodingOptions = { editable: false }
imageSource.createPixelMap(opts);

在HarmonyOS中,将Base64字符串转换为PixelMap可以通过以下步骤实现:

  1. 使用Base64类将Base64字符串解码为字节数组。
  2. 使用ImageSource类将字节数组解码为Source对象。
  3. 使用PixelMap类将Source对象转换为PixelMap对象。

示例代码如下:

import image from '@ohos.multimedia.image';
import util from '@ohos.util';

let base64String = "your_base64_string_here";
let base64 = new util.Base64Helper();
let byteArray = base64.decodeSync(base64String);

let imageSource = image.createImageSource(byteArray);
let pixelMap = imageSource.createPixelMap();
回到顶部