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