2016-08-08 19 views
0

Ich lasse AVCaptureSession laufen, um Standbilder davon auf Benutzeraktion (Knopfdruck) zu erhalten. Ich habe ein Problem mit der um 90 Grad gedreht Orientierung obwohl ich diese Werte gesetzt:AVCaptureStillImageOutput Bildausrichtung ist falsch

- (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]; 
} 

Und

- (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]; 
     } 
    }]; 

Vielen Dank im Voraus

+0

Versuchen Sie dies, ich denke, das ist das gleiche Problem. http://stackoverflow.com/questions/3561738/why-avcapturessession-output-a-wrong-orientation –

+0

Meine Anwendung ist Portrait und ich legte die Ausrichtung der Sitzung und noch Bildausrichtung auf Portrait und die outputed Bildausrichtung zu UIImageOrientationUp! aber das Bild wird nach rechts gedreht – OXXY

+0

Haben Sie jemals funktioniert, scheint ich ein ähnliches Problem zu haben. – BarrettJ

Antwort

0

Versuchen mit UIImageOrientationLeft Orientierung.

+0

als Parameter für imageWithCGImage? – OXXY