通过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
按赞同
/
按时间
firecc

在创建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
相关问题
PixelMap数据处理(Native)
422浏览 • 1回复 待解决
如何用PixelMap处理图片
443浏览 • 1回复 待解决
基于ImageKit对图片进行处理
155浏览 • 1回复 待解决
提示数据丢失怎么处理?
3620浏览 • 2回复 待解决
应用跳转问题怎么处理
3805浏览 • 1回复 待解决
Greenplum有哪些通用的处理方法
2057浏览 • 1回复 待解决
如何对图片进行高斯模糊处理
586浏览 • 1回复 待解决
ets中如何图片转为byte[]?
1652浏览 • 1回复 待解决
taskpool异步任务支持串行处理方法
430浏览 • 1回复 待解决
如何图片文本视频分享给其他应用
369浏览 • 1回复 待解决
如何一张图片转化为PixelMapElement
8301浏览 • 1回复 待解决
如何显示通过网络加载的图片
1149浏览 • 1回复 待解决
通过web上传图片并进行预览
386浏览 • 1回复 待解决