我目前正在使用 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);
答案 0 :(得分:46)
而不是使用UIGraphicsBeginImageContext
,您应该使用:
UIGraphicsBeginImageContextWithOptions(size, NO, 0);
答案 1 :(得分:0)
如果你在视网膜显示器上,上下文的大小只是“真实”图像大小的一半。
尝试加倍大小(或者正确使用视图的contentScaleFactor)。