gpt4 book ai didi

android - React Native android camera2 纵横比问题

转载 作者:行者123 更新时间:2023-11-29 01:05:30 25 4
gpt4 key购买 nike

我已经为 Android 创建了一个库(查看 this 了解更多信息),用于 Android 中的 Android Camera2 功能一切正常,但在全屏摄像头的宽高比问题上。

请检查下面的图像在预览和真实图片中的样子(只有预览有问题,而不是拍摄后的真实图片)

捕获的图像水平:

enter image description here

水平预览图像:

enter image description here

捕获的图像垂直:

enter image description here

垂直预览图像:

enter image description here

Google 的 Camera2 API 示例有类似的问题并已解决 here .

但是相同的代码在我的 React native 库代码中不起作用。可能是我对图像和视频都使用了一个代码,并为视频捕获添加了额外的代码。

最佳答案

相机传感器的纵横比通常与屏幕的纵横比不匹配。结果就是您目前正在经历的。

因为纵横比不匹配。您实际上不能强制预览为全屏。您必须选择“有效”维度。那你是怎么做到的?

对于传感器的尺寸,我们无能为力。我们要回答的问题是我的预览的高度应该是多少? (假设纵向模式)

这是一个例子:

传感器(假设人像):

  • 宽度:50
  • 高度:100
  • 纵横比:(宽度/高度)= 0.5

屏幕(假设纵向):

  • 宽度:400
  • 高度:1000
  • 纵横比:(宽度/高度)= 0.4

使用上述值,您的预览图像将被“拉伸(stretch)”。

修复方法如下:

我们知道我们想要的纵横比:0.5

宽度/高度= 0.5

我们知道屏幕的宽度(纵向):400

400/高度 = 0.5

高度 = 400/0.5 = 800

为了在 x 或 y 方向上没有拉伸(stretch),高度(假设纵向)需要为:预览宽度/所需的纵横比

关于android - React Native android camera2 纵横比问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47551921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com