iPhone - Зеркальное отображение снимка, сделанного с передней камеры

При использовании передней камеры 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();

Но это дает только черное изображение.

10
задан Oliver 1 April 2011 в 22:48
поделиться