我正在尝试使用AVCaptureSession制作自定义相机。 代码和所有工作正常。唯一的问题是VideoOutput图层被缩放。这使我的照片默认缩放。
我尝试了所有的东西,但无法找到解决方案。以下是使用以下代码的一小段代码:
AVCaptureSession *session = [[AVCaptureSession alloc] init];
session.sessionPreset = AVCaptureSessionPresetPhoto;
AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
[captureVideoPreviewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
修改 我改变了 AVLayerVideoGravityResizeAspectFill到AVLayerVideoGravityResizeAspect,这个输出稍微纠正了一下,但视频没有全屏显示。 请看屏幕截图
为什么显示白色空间(我设置的视图)?为什么它不覆盖那部分呢?有什么遗失的吗?
答案 0 :(得分:0)
我发现这个问题的解决方法是你必须给AVCaptureVideoPreviewLayer
一个相等宽度和高度的框架。我通过查看 Whatsapp扫描界面来获得此解决方案。
这完美无缺!