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