gpt4 book ai didi

ios - 在自定义框架中显示相机

转载 作者:行者123 更新时间:2023-11-29 01:16:30 25 4
gpt4 key购买 nike

我正在尝试将相机加载到自定义 CGRect 中,但我无法这样做,因为 View 似乎受相机方面的限制。这是我正在使用的代码:

AVCaptureSession *session = [[AVCaptureSession alloc] init];
AVCaptureDevice *videoDevice = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
if (videoDevice)
{
NSError *error;
AVCaptureDeviceInput *videoInput = [AVCaptureDeviceInput deviceInputWithDevice:videoDevice error:&error];
if (!error)
{
if ([session canAddInput:videoInput])
{
[session addInput:videoInput];
AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];
previewLayer.frame = self.view.bounds;
CGFloat x = self.view.bounds.origin.x;
CGFloat y = self.view.bounds.origin.y;
CGFloat width = self.view.bounds.size.width;
CGFloat height = 206;
CGRect newFrame = CGRectMake(x, y, width, height);
previewLayer.frame = newFrame;
[self.view.layer addSublayer:previewLayer];
[session startRunning];
}
}
}

这是应用当前显示的框架:

enter image description here

但我需要将其框成这样:

enter image description here

我不知道如何“解锁”相机框架或调整纵横比。是否可以在不降低图像质量的情况下获得我想要的结果?如果可以,如何实现?

最佳答案

在代码末尾添加这一行:

previewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

关于ios - 在自定义框架中显示相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35120493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com