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 に答える