HarmonyOS鸿蒙Next中pixMap转base64,packing废弃,有没有其他的方法

HarmonyOS鸿蒙Next中pixMap转base64,packing废弃,有没有其他的方法

pixMap转base64 ,packing被废弃,有没有其他的方法

![113.png](https://alliance-communityfile-drcn.dbankcdn.com/FileServer/getFile/cmtybbs/714/978/294/0030086000714978294.20250420110424.94062903224167389710734718552759:50001231000000:2800:3194DD753AF4DB5A67C1D412F55029C6EFE28E8047C24EBF685CAD05661C5C11.png)

更多关于HarmonyOS鸿蒙Next中pixMap转base64,packing废弃,有没有其他的方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

你好。

packing 从API version 6开始支持,从API version 13开始废弃,建议使用packToData代替。

import { BusinessError } from '@kit.BasicServicesKit';

const context: Context = getContext();
//此处'test.jpg'仅作示例,请开发者自行替换,否则imageSource会创建失败导致后续无法正常执行。
let filePath: string = context.filesDir + "/test.jpg";
const imageSourceApi: image.ImageSource = image.createImageSource(filePath);
let packOpts: image.PackingOption = { format: "image/jpeg", quality: 98 }
const imagePackerApi: image.ImagePacker = image.createImagePacker();
imagePackerApi.packToData(imageSourceApi, packOpts)
  .then((data: ArrayBuffer) => {
    console.info('Succeeded in packing the image.');
  }).catch((error: BusinessError) => {
    console.error(`Failed to pack the image.code ${error.code},message is ${error.message}`);
  })

详情请参考: [@ohos.multimedia.image (图片处理)-ArkTS API-Image Kit(图片处理服务)-媒体 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-image#packtodata13)

【HarmonyOS NEXT】PixelMap转化为Uri | 华为开发者联盟

更多关于HarmonyOS鸿蒙Next中pixMap转base64,packing废弃,有没有其他的方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


学习了!

受教了!

在HarmonyOS鸿蒙Next中,如果pixMapbase64packing方法已被废弃,可以使用Image类的toBase64Data方法替代。具体代码如下:

let image = new Image();
image.src = 'path/to/image.png';
image.onload = () => {
    let base64Data = image.toBase64Data();
    console.log(base64Data);
};

此方法直接将Image对象转换为base64字符串,避免了使用废弃的packing方法。

回到顶部