繁体   English   中英

AVFoundation相机预览屏幕提供错误的缩放

[英]AVFoundation Camera Preview Screen gives wrong zoom

我目前正在开发一款具有相机功能的应用程序,具有自定义相机屏幕,具有预览屏幕和叠加层。

我根据UIScreenCapture使用AVFoundation类和方法。

我遇到的问题是我从AVCaptureSession获得的预览数据太大了。如果我用那个屏幕拍照,另一个用iPhone的默认相机应用程序,而不移动iPhone,缩放的差异太大了。

我需要我的应用程序的缩放与iPhone相机应用程序的默认值相同。

我已经尝试将AVCaptureVideoPreviewLayer.videoGravity更改为其中任何一个可能的3个值,但无济于事。

请,这个问题的任何线索真的很感激。

Arcantos的解决方案大多是正确的。 假设您使用的是iPhone 3G(或任何支持640x480相机的设备),那将会有效。 iPhone 4可能会遇到一些问题。

更正确的方法是测试可用性并应用此预设:

captureSession.sessionPreset = AVCaptureSessionPresetPhoto;

无论原始分辨率如何,这都将使用原始相机数据。

原来是一个解决问题。 它是通过使用固定的

myCaptureSession.sessionPreset = AVCaptureSessionPreset640x480

请注意,iPhone 3g不支持,因此您必须询问设备是否支持它

[[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] supportsAvCaptureSessionPreset:AVCaptureSessionPreset640x480]

预览窗格的宽高比是否与摄像头捕获数据的宽高比相同? 如果没有,操作系统可能会更改缩放以使数据矩形符合您要求的宽高比。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM