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];
助けてくれてありがとう。
乾杯。