Я бегу AVCaptureSession
, чтобы получать неподвижные изображения от него при действии пользователя (нажатие кнопки). У меня есть проблемы с ориентацией, повернутой на 90 градусов, хотя я установить эти значения:AVCaptureStillImageOutput Ориентация изображения неверна
- (void)setupAVCapture {
//Capture session
_session = nil;
_session = [[AVCaptureSession alloc] init];
[_session setSessionPreset:AVCaptureSessionPreset1280x720];
//preview view
self.previewLayer = nil;
self.previewLayer = [[AVCaptureVideoPreviewLayer alloc] initWithSession:_session];
[self.previewLayer setVideoGravity:AVLayerVideoGravityResizeAspectFill];
CALayer *rootLayer = [_previewView layer];
[rootLayer setMasksToBounds:YES];
[[_previewLayer connection]setVideoOrientation:AVCaptureVideoOrientationPortrait];
}
И
- (IBAction)captureImage:(id)sender {
AVCaptureConnection *stillImageConnection = [stillImageOutput connectionWithMediaType:AVMediaTypeVideo];
[stillImageConnection setVideoOrientation:AVCaptureVideoOrientationPortrait];
[stillImageOutput captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandler:^(CMSampleBufferRef imageDataSampleBuffer, NSError *error) {
if (imageDataSampleBuffer != nil) {
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer];
CGDataProviderRef dataProvider = CGDataProviderCreateWithCFData((CFDataRef)imageData);
CGImageRef cgImageRef = CGImageCreateWithJPEGDataProvider
(dataProvider, nil, YES, kCGRenderingIntentDefault);
_capturedImage = [UIImage imageWithCGImage:cgImageRef scale:1.0 orientation:UIImageOrientationUp];
}
}];
Заранее спасибо
Попробуйте это, я думаю, что это та же проблема. http://stackoverflow.com/questions/3561738/why-avcapturesession-output-a-wrong-ориентация –
Мое приложение - это портрет, и я задал ориентацию сеанса и неподвижную ориентацию изображения на портрет и ориентацию изображения на UIImageOrientationUp! но изображение повернуто вправо – OXXY
Вы когда-нибудь получали эту работу, я, похоже, имею аналогичную проблему. – BarrettJ