HarmonyOS 相机使用 ImageReceiver 作为输出是为了预览二次处理吗?

相机需要对预览流进行二次处理,例如增加滤镜。

针对预览二次处理有几个问题:

1、ts 层使用 ImageReceiver 是否也是可以进行二次处理,文档中描述的为 “双路预览” ,表述不是很清晰。但在 c 层描述是可以二次处理。

2、ImageReceiver 的创建参数中 format 使用 ImageFormat.YCBCR_422_SP ,则会抛出 [nodict]Error: Invalid type ,使用 ImageFormat.JPEG 则不会,可以接收到回调,这里只能使用 ImageFormat.JPEG 吗?

3、我是用 ImageFormat.JPEG 格式,接收到了回调,通过 readLatestImage 或 readNextImage 方法获取到 Image,然后

Image.getComponent(image.ComponentType.JPEG, (err: BusinessError, imgComponent: image.Component) => {} 

获取到imgComponent ,其中有ArrayBuffer。但是长度和image的尺寸对不上,假设我获取到的是640 x 400 Image ,但ArrayBuffer长度为385024 。

我需要怎么进行预览的二次处理?使用 ImageReceiver 是为了二次处理么?

HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
FengTianYa

第一个问题:ts 层使用 ImageReceiver 是可以进行二次处理的

第二个问题:ImageReceiver 的创建参数中 format目前仅支持 ImageFormat:JPEG 参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-image-V5

第三个问题:系统在申请ArrayBuffer长度是一般会申请的长一点,所以长度就会比用image尺寸算出来的大一些

分享
微博
QQ
微信
回复
6天前
相关问题
HarmonyOS 权限二次申请
104浏览 • 1回复 待解决
HarmonyOS aioxs二次封装
171浏览 • 1回复 待解决
HarmonyOS getStringByName方法二次封装
160浏览 • 1回复 待解决
class二次刷新渲染数组
834浏览 • 1回复 待解决
如何创建相机预览输出
211浏览 • 0回复 待解决
HarmonyOS cocos引擎能否二次启动
482浏览 • 1回复 待解决
实现二次侧滑退出应用
1918浏览 • 1回复 待解决
华为账号实时验证/二次放号相关咨询
1850浏览 • 1回复 待解决