UIGraphicsGetImageFromCurrentImageContext()提供更高质量的图像

我目前使用UIGraphicsGetImageFromCurrentImageContext()将内容的图像保存到用户的相机胶卷上,但是图像质量比在模拟器中执行屏幕截图时差。 有什么办法可以改善吗? 而且保存的图像的格式是什么? BMP? 有什么方法可以改变这个吗?

这是我的保存代码:

CGSize size = [content bounds].size; UIGraphicsBeginImageContext(size); [[content layer] renderInContext:UIGraphicsGetCurrentContext()]; UIImage *originalImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); UIImageWriteToSavedPhotosAlbum(originalImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); 

而不是使用UIGraphicsBeginImageContext你应该使用:

 UIGraphicsBeginImageContextWithOptions(size, NO, 0); 

如果你在视网膜上显示,上下文的大小只是“真实”图像大小的一半。

尝试将尺寸加倍(或者正确使用视图的contentScaleFactor)。