2

我正在显示 320x320 捕获窗口的视频预览,并使用 videoGravity 让它填充正方形:

captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

然后,我从会话中抓取一张照片质量的图像并从 0、0 开始对其进行裁剪。我遇到的问题是保存的图像显示在帧的顶部(但不是左侧)比预览更多。我想基本上只看到框架的顶部,似乎我看到了中间部分,希望我能正确解释自己。

如果有帮助,这里是代码片段:

AVCaptureVideoPreviewLayer *captureVideoPreviewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:session];
captureVideoPreviewLayer.frame = _cameraView.bounds;
[_cameraView.layer addSublayer:captureVideoPreviewLayer];
captureVideoPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill;

AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

提前感谢您的帮助。

干杯。

4

1 回答 1

0

我不知道如何做到这一点,所以我决定通过更改裁剪区域而不是预览区域来修复它。

于 2012-06-05T09:34:33.933 回答