Ios 调整AVCaptureVideoPreviewLayer与相机纵横比的容器大小
如何调整AVCaptureVideoPreviewLayer容器的高度,使其不会被裁剪?例如:Ios 调整AVCaptureVideoPreviewLayer与相机纵横比的容器大小,ios,iphone,swiftui,camera,Ios,Iphone,Swiftui,Camera,如何调整AVCaptureVideoPreviewLayer容器的高度,使其不会被裁剪?例如: let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession) cameraPreviewLayer.videoGravity = AVLayerVideoGravity.resizeAspect //or .resizeAspectFill cameraPreviewLayer.connection?.vide
let cameraPreviewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
cameraPreviewLayer.videoGravity = AVLayerVideoGravity.resizeAspect //or .resizeAspectFill
cameraPreviewLayer.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
cameraPreviewLayer.frame = self.view.frame
view.layer.insertSublayer(cameraPreviewLayer, at: 0)
- resizeAspectFill保留纵横比,但会以裁剪预览图像为代价
- resizeAspect显示预览而不进行裁剪,但只将提要和叶条居中放置在顶部/底部
有人有什么建议吗?你可以使用
func captureOutput(uu-output:AVCaptureOutput,didOutput-sampleBuffer:CMSampleBuffer,from-connection:AVCaptureConnection){
来获取sampleBuffer
,你可以将其转换成CIImage
(CIImage(cvPixelBuffer:CMSampleBufferGetImageBuffer)(sampleBuffer)!)
)。然后您可以读取范围,这是一个CGSize。不过可能有更好的方法