Я показываю предварительный просмотр видео окна захвата 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];
Заранее благодарю за любую помощь.
Ваше здоровье.
captureVideoPreviewLayer.position=CGPointMake(CGRectGetMidX(_cameraView.bounds), 160);
позиционировать его, но безуспешно, та же проблема. - person mrEmpty   schedule 04.06.2012