【发布时间】:2018-03-15 00:29:08
【问题描述】:
在我的 Android 应用程序中,我正在尝试使用 Camera2 API 实现相机缩放。有很多关于如何使用 Camera2 API 实现缩放的示例。 Zoom Camera2 Preview using TextureView 提到了一个这样的例子。这是基本代码sn-p:
float maxZoom = characteristics.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM));
currentZoom = adjustZoom(currentZoom, maxZoom);
Rect m = characteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);
Rect m1 = cropRectangleBasedOnZoom(m1, curZoom);
previewRequestBuilder.set(CaptureRequest.SCALER_CROP_REGION, m1);
...
这似乎有效。但是,旧的 Camera1 API 有一个简单的方法来设置缩放值。为什么必须通过 Camera2 API 中调整区域的额外逻辑? Camera2 逻辑是否会产生更好的图片质量?
另外,有没有办法获得最大光学变焦的值?问候。
【问题讨论】:
标签: android