HarmonyOS 鸿蒙Next相机视频流base64编码后的图片无法解码打开
HarmonyOS 鸿蒙Next相机视频流base64编码后的图片无法解码打开
HarmonyOS的社区里有很多技术大牛分享经验,学到了很多有用的知识。
关于HarmonyOS 鸿蒙Next相机视频流base64编码后的图片无法解码打开的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
async (frame: image.Image) => {
if (frame == undefined) {
return;
}
let imgComponent = await frame.getComponent(image.ComponentType.JPEG);
let jpegData = imgComponent.byteBuffer as ArrayBuffer;
let byteBuffer = buffer.from(jpegData);
let base64Str = 'data:image/jpeg;base64,' + byteBuffer.toString('base64', 0);
console.info("base64: " + base64Str);
}
这段代码可以正常base64编码 但是base64Str无法通过解码生成图片
期待HarmonyOS能继续优化多屏协同功能,让跨设备体验更加完美。
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
base64转PixelMap参考如下代码:
import util from '@ohos.util';
let helper = new util.Base64Helper();
let buffer: ArrayBuffer = helper.decodeSync(this.base64, util.Type.MIME).buffer as ArrayBuffer;
let imageSource = image.createImageSource(buffer);
let opts: image.DecodingOptions = { editable: true };
this.pixelMap = await imageSource.createPixelMap(opts);
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>