请问
const listener = context.onCameraFrame((frame) => {
console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)})
拿到的 ArrayBuffer 怎么能保存为一图片呢?有什么思路,谢谢
请问
const listener = context.onCameraFrame((frame) => {
console.log(frame.data instanceof ArrayBuffer, frame.width, frame.height)})
拿到的 ArrayBuffer 怎么能保存为一图片呢?有什么思路,谢谢
2 个回答
由于返回的ArrayBuffer不能直接转base64
所以需要用upng来转一下
var upng = require('../../utils/upng.js');
//这里转一下
let pngData = upng.encode([frame.data], frame.width, frame.height)
var base64 = wx.arrayBufferToBase64(pngData)
把ArrayBuffer数据压缩转码成JPG格式,用到https://github.com/eugeneware/jpeg-js这个。期间你可以通过worker线程进行转码