HarmonyOS 鸿蒙Next 相机previewOutput,receiver的尺寸转换

发布于 1周前 作者 vueper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 相机previewOutput,receiver的尺寸转换

我实现拍照双路预览的时候,配置 photoSession 用的 preconfig(camera.PreconfigType.PRECONFIG_1080P, camera.PreconfigRatio.PRECONFIG_RATIO_4_3),这样得到的previewOutput数据尺寸是 1440x1080,宽是1440,而我想要宽高比是3:4的图片,即宽是1080。

我创建了码流数据的接收者,image.createImageReceiver((1080, 1440), image.ImageFormat.JPEG, 8),但是我通过 receiver.on(‘imageArrival’, callback) 拿到的图片,还是 1440x1080的尺寸,请问我怎么怎么可以得到 1080x1440 的图片?应该设置在哪里,感谢


更多关于HarmonyOS 鸿蒙Next 相机previewOutput,receiver的尺寸转换的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/camera-dual-channel-preview-V5#开发步骤

第6步应该能解决你的问题

视频帧 转换( NV21(YUV_420_SP格式的图片))

更多关于HarmonyOS 鸿蒙Next 相机previewOutput,receiver的尺寸转换的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,相机预览输出(previewOutput)的receiver尺寸转换主要依赖于系统提供的API接口来实现。以下是关于如何进行尺寸转换的简要说明:

  1. 获取预览输出尺寸: 首先,通过相机管理API获取当前预览输出的尺寸信息,这通常包括宽度和高度。

  2. 设置Receiver尺寸: 根据应用需求,确定receiver(如ImageView或SurfaceView)的目标尺寸。

  3. 进行尺寸转换

    • 如果预览输出尺寸与目标尺寸不一致,需要进行缩放处理。
    • 鸿蒙系统提供了图形处理模块(如Graphics),可以利用其中的缩放函数来实现预览图像的尺寸转换。
    • 确保转换过程中保持图像的宽高比,以避免图像变形。
  4. 应用转换后的图像: 将转换后的图像数据应用到receiver上,以实现正确的预览显示。

注意,鸿蒙系统的API可能会随着版本更新而有所变化,因此在实际开发中,建议参考最新的官方文档和API指南。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部