Всегда видеть зеркальное изображение во время захвата с передней камеры iOS 5.0 - PullRequest
9 голосов
/ 10 февраля 2012

Во время захвата данных с фронтальной камеры я всегда получаю зеркальное изображение, как я могу получить то, что вижу в окне предварительного просмотра. Я установил videoMirrored на TRUE. Ниже приведен фрагмент кода:

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

Изменение setVideoMirrored на True/False также ничего не меняет (isVideoMirroringSupported возвращает Успех)

Ответы [ 3 ]

9 голосов
/ 27 августа 2014

Переверните зеркальное изображение с помощью следующего кода.

UIImage * flippedImage = [UIImage imageWithCGImage:picture.CGImage scale:picture.scale orientation:UIImageOrientationLeftMirrored];
3 голосов
/ 13 апреля 2016

Swift версия:

let flippedImage = UIImage(CGImage: image.CGImage, scale: image.scale, orientation: .LeftMirrored)
0 голосов
/ 27 июня 2019

Вы можете использовать withHorizontallyFlippedOrientation(), чтобы перевернуть UIImage.

// first get an UIImage from the front camera
let sourceImg = UIImage(cgImage: image, scale: 1.0, orientation: .leftMirrored)
return sourceImg.withHorizontallyFlippedOrientation()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...