通过packing方法将图片数据处理成jpg问题

将相机中的nv21数据通过packing方法无法成功,出现异常:

const imagePackerApi : image.ImagePacker = image.createImagePacker(); 
const imageSourceApi : image.ImageSource = image.createImageSource(buffer); 
let packOpts : image.PackingOption = { format:“image/jpeg”, quality:98 } 
imagePackerApi.packing(imageSourceApi, packOpts) 
  .then( (data : ArrayBuffer) => { 
console.log(‘packing succeeded.’); 
let filePath = (this._context as Context).filesDir + ‘/data2.jpg’ 
let copyFile = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); 
fs.writeSync(copyFile.fd, data); 
fs.closeSync(copyFile) 
}).catch((error : BusinessError) => { 
  console.error(‘packing failed.’); 
})
HarmonyOS
2024-05-08 21:50:47
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
海不辞水

在创建imageResource的时候添加SourceOptions 参数:

let sourceOptions : image.SourceOptions = { 
  sourceDensity: 120, 
  sourcePixelFormat: 8, // NV21 
  sourceSize: { 
    height: 240, 
    width: 320 
  } 
} 
let imageResource=image.createImageSource(imgComponent.byteBuffer,sourceOptions)
分享
微博
QQ
微信
回复
2024-05-09 11:38:09
相关问题
网络请求数据处理问题
50浏览 • 1回复 待解决
PixelMap数据处理(Native)
739浏览 • 1回复 待解决
HarmonyOS是否有界面生成图片方法
135浏览 • 1回复 待解决
HarmonyOS 如何base64数据转换为图片
188浏览 • 1回复 待解决
base64字符串保存为图片方法
196浏览 • 1回复 待解决
图片处理(加动态水印)
25浏览 • 1回复 待解决
如何用PixelMap处理图片
1005浏览 • 1回复 待解决
基于ImageKit对图片进行处理
337浏览 • 1回复 待解决
HarmonyOS imagePacker不支持编码成jpg格式
109浏览 • 1回复 待解决
Greenplum有哪些通用的处理方法
3207浏览 • 1回复 待解决
提示数据丢失怎么处理?
4635浏览 • 2回复 待解决
如何对图片进行高斯模糊处理
1825浏览 • 1回复 待解决