我正在使用应用程序并使用UIImagePickerController
捕获图像。当应用程序启动UIImagePickerController
的对象时,它将后置摄像头作为默认选择。使用后置摄像头,一切正常。
然而,当我从imagePicker的切换相机按钮和摄像图像中将相机源更改为frontFacingCamera
时,我会得到一个镜像图像。我的左臂在图像中显示为右臂。我该如何解决这个问题?
UIImagePickerController
解决此问题吗?AVFoundation
课程?不幸的是,AVFoundation
我很弱。
答案 0 :(得分:1)
我遇到了同样的问题,并使用此方法反过来镜像图像。
- (UIImage *) flipImageLeftRight:(UIImage *)originalImage {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:originalImage];
UIGraphicsBeginImageContext(tempImageView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
//CGAffineTransformMake(<#CGFloat a#>, <#CGFloat b#>, <#CGFloat c#>, <#CGFloat d#>, <#CGFloat tx#>, <#CGFloat ty#>)
CGAffineTransform flipVertical = CGAffineTransformMake(1, 0, 0, -1, 0, tempImageView.frame.size.height);
CGContextConcatCTM(context, flipVertical);
[tempImageView.layer renderInContext:context];
UIImage *flipedImage = UIGraphicsGetImageFromCurrentImageContext();
flipedImage = [UIImage imageWithCGImage:flipedImage.CGImage scale:1.0 orientation:UIImageOrientationDown];
UIGraphicsEndImageContext();
[tempImageView release];
return flipedImage;
}
答案 1 :(得分:0)
Plz尝试以下代码
- (UIImage *)PictureFlipe:(UIImage *)picture
{
UIImage * flippedImage = [UIImage imageWithCGImage:picture.CGImage scale:picture.scale orientation:UIImageOrientationLeftMirrored];
return flippedImage;
}