通过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.’); 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
HarmonyOS
2024-05-08 21:50:47
1230浏览
收藏 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)
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
分享
微博
QQ
微信
回复
2024-05-09 11:38:09
相关问题
网络请求数据处理问题
1294浏览 • 1回复 待解决
PixelMap数据处理(Native)
2306浏览 • 1回复 待解决
JSON.parse数据处理导致精度丢失问题
1532浏览 • 1回复 待解决
HarmonyOS @ohos.data.preferences 数据处理
1221浏览 • 1回复 待解决
HarmonyOS 接口请求数据处理
728浏览 • 1回复 待解决
HarmonyOS是否有界面生成图片方法
1084浏览 • 1回复 待解决
HarmonyOS 处理java后端返回数据问题
610浏览 • 1回复 待解决
HarmonyOS 如何base64数据转换为图片
1462浏览 • 1回复 待解决