我正在创建相机应用。我可以拍摄一张图像,并将该图像传递回视图控制器以显示该图像。它还保存到相机胶卷中。如果将带有相机预览的图像与保存的图像进行比较,则似乎相机预览有点放大了。
这是到目前为止我的代码,没有相机预览:
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = .portrait
cameraPreviewLayer.frame = view.frame
view.layer.insertSublayer(cameraPreviewLayer, at: 0)
captureSession.startRunning()
如何使照相机预览的尺寸与保存的图像相同?
罪魁祸首是videoGravity
设置。 .resizeAspectFill
将调整预览大小以填充整个视图,即使这意味着裁剪内容。