Изрязване на визуализация на AVCaptureSession

Показвам визуализация на видео на прозорец за заснемане 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];

Благодаря предварително за всяка помощ.

наздраве


person mrEmpty    schedule 04.06.2012    source източник
comment
О, опитах captureVideoPreviewLayer.position=CGPointMake(CGRectGetMidX(_cameraView.bounds), 160); да го позиционирам, но без радост, същият проблем.   -  person mrEmpty    schedule 04.06.2012


Отговори (1)


Не можах да разбера как да направя това, така че реших да го поправя, като променя региона за изрязване вместо региона за визуализация.

person mrEmpty    schedule 05.06.2012