当使用iPhone 4的前置摄像头拍照时,所拍摄的图片与在iPhone屏幕上看到的内容是镜像的。如何恢复UIImage(而不是UIImageView)的“屏幕上”视图,并能够以此方式保存它?
我尝试过以下代码:
我尝试过以下代码:
UIImage* transformedImage = [UIImage imageWithCGImage:pickedImage.CGImage scale:1.0 orientation:UIImageOrientationLeftMirrored];
UIImageWriteToSavedPhotosAlbum (transformedImage, self, @selector(photoSaved:didFinishSavingWithError:contextInfo:), nil);
将其放在屏幕上,然后保存图像。在屏幕上看到的几乎与保存的图像相同,但保存的图像会出现扭曲。
那么...我该如何恢复UIImage的“屏幕显示”视图(而不是UIImageView),并能够像这样保存它?
我也尝试过以下方式:
UIImage* pickedImage = [[info objectForKey:UIImagePickerControllerOriginalImage] retain];
UIImage* transformedImage;
CGSize imageSize = pickedImage.size;
UIGraphicsBeginImageContextWithOptions(imageSize, YES, 1.0);
GContextRef ctx = UIGraphicsGetCurrentContext();
CGContextRotateCTM(ctx, 3.14); // rotate by 180°
CGContextScaleCTM(ctx, 1.0, -1.0); // flip vertical
CGContextDrawImage(ctx, CGRectMake(0.0, 0.0, imageSize.width, imageSize.height), pickedImage.CGImage);
transformedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
但是这只会得到一张黑色的图片。