通过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
相关问题
网络请求数据处理问题
331浏览 • 1回复 待解决
PixelMap数据处理(Native)
1220浏览 • 1回复 待解决
JSON.parse数据处理导致精度丢失问题
283浏览 • 1回复 待解决
HarmonyOS @ohos.data.preferences 数据处理
201浏览 • 1回复 待解决
HarmonyOS是否有界面生成图片方法
476浏览 • 1回复 待解决
HarmonyOS 如何base64数据转换为图片
437浏览 • 1回复 待解决
base64字符串保存为图片方法
774浏览 • 1回复 待解决
HarmonyOS imagePacker不支持编码成jpg格式
388浏览 • 1回复 待解决
如何用PixelMap处理图片
1845浏览 • 1回复 待解决
图片处理(加动态水印)
300浏览 • 1回复 待解决