2012-02-10 8 views
8

Podczas przechwytywania danych z kamery przedniej zawsze otrzymuję odbicie lustrzane, w jaki sposób mogę uzyskać to, co widzę w moim oknie podglądu. Ustawiłem videoMirrored na TRUE. Poniżej znajduje się fragment kodu:Zawsze widząc odbicie lustrzane podczas przechwytywania z kamery przedniej iOS 5.0

AVCaptureConnection *lConnection = nil; 

    for (AVCaptureConnection *connection in [lHandle->m_output connections]) { 
    for (AVCaptureInputPort *port in [connection inputPorts]) { 
     if ([[port mediaType] isEqual:AVMediaTypeVideo]) { 
      lConnection = connection; 
      break; 
     } 
    } 
} 
if ([lConnection isVideoOrientationSupported]) 
    [lConnection setVideoOrientation:AVCaptureVideoOrientationPortrait]; 
if ([lConnection isVideoMirroringSupported]) 
    [lConnection setVideoMirrored:TRUE]; 

Zmiana setVideoMirrored do True/False też niczego nie zmieni (isVideoMirroringSupported powraca sukces)

+1

jestem całkiem pewny, okna podglądu należy pokazując lustrzaną wideo (w sensie, jakbyś patrząc w lustro, więc trzeba podnieść prawą rękę a ramię po prawej stronie ekranu idzie w górę) - kiedy przechwytujesz dane, to jest ono odbijane w lustrze w tym sensie lub jest odbijane w lustrze w porównaniu do okna podglądu (i, co za tym idzie, w dobrym kierunku, jeśli chodzi o to, co pochodzi od czujnik)? – Tommy

+1

Dzięki Tommy.Can możesz mi powiedzieć, dlaczego ustawienie SetVideoMirrored na TRUE/FALSE nie zmienia niczego. –

+0

Dzięki @Tommy. Czy możesz mi powiedzieć, dlaczego ustawienie SetVideoMirrored na TRUE/FALSE nie zmienia niczego. –

Odpowiedz

7

Flip lustrzany obraz z następującego kodu.

UIImage * flippedImage = [UIImage imageWithCGImage:picture.CGImage scale:picture.scale orientation:UIImageOrientationLeftMirrored]; 
+0

To nie zadziała, jeśli zrobisz zdjęcie w orientacji poziomej. –

1

Swift wersja:

let flippedImage = UIImage(CGImage: image.CGImage, scale: image.scale, orientation: .LeftMirrored) 
Powiązane problemy