ios - AVCaptureVideoPreviewLayer捕获角度缩短了吗?

标签 ios camera uiimagepickercontroller avcapture

我在尝试了解AVCaptureVideoPreviewLayer为什么缩短摄像机角度时遇到一些问题。我的意思是,该相机具有比默认相机或UIImagePickerController相机更大的缩放比例。我测试了AVCaptureVideoPreviewLayer,它看起来像是在默认摄像头应用程序上使用“视频”选项时一样放大了。

我是否可以收回额外的变焦?我想让摄像机广角而不是视频变焦。我正在使用覆盖层,这就是为什么我使用此选项。

最佳答案

您可以尝试修改几个属性来解决此问题。我尝试的第一个也是最可能的一个是AVCaptureSession上的sessionPreset属性。您可能需要尝试AVCaptureSessionPresetPhoto,但是还有更多选项,可以在the docs中找到

[session setSessionPreset:AVCaptureSessionPresetPhoto];

这与视频预设不同,它不会缩短捕获角度,而所有视频预设都会缩放和裁剪输入。

除此之外,您可能需要调整预览图层本身的contentGravity属性。
[previewLayer setContentsGravity:AVLayerVideoGravityResizeAspectFill];

但是,它只有三个选项,AVLayerVideoGravityResizeAVLayerVideoGravityResizeAspectAVLayerVideoGravityResizeAspectFill

关于ios - AVCaptureVideoPreviewLayer捕获角度缩短了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992801/

相关文章:

c# - 如何初始化AForge网络摄像头

iphone - 获取 iPhone 相机拍摄的最后一张图像

ios - Creating an image format with an unknown type 是错误的 Objective-C Xcode 8

ios - UIImagePickerController 在 iOS 9 中不选择图像

ios - 我可以在不下载的情况下将 iOS 模拟器从旧版 Xcode 6.4 添加到新版 Xcode 7 吗?

c# - 从 UITableView 中删除一个部分。 NSIndexSet 参数?

iOS - IB 查看模式

ios - CLLocationManager() Location 在模拟器中为 nil

swift - 从 iOS 捕获的图像在哪里?

ios - 访问 UIImagePickerController 相机 View 的顶部栏