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();
しかし、それは黒いイメージを与えるだけです。