ios - 如何在不降低其质量的情况下保存 UIView 内容(屏幕截图)

标签 ios objective-c uiview

我有一个 UIView,我想将它的内容保存到图像中,我使用 UIGraphicsBeginImageContextUIGraphicsGetImageFromCurrentImageContext() 成功做到了,但是问题是图像质量降低了。有没有办法在不降低图像质量的情况下截取屏幕截图/将 UIView 内容保存到图像中?

这是我的代码片段:

UIGraphicsBeginImageContext(self.myView.frame.size);
[self.myview.layer renderInContext:UIGraphicsGetCurrentContext()];

UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

最佳答案

尝试以下代码:

UIGraphicsBeginImageContextWithOptions(YourView.bounds.size, NO, 0);

[YourView drawViewHierarchyInRect:YourView.bounds afterScreenUpdates:YES];

UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

这段代码工作得很好......!!!

关于ios - 如何在不降低其质量的情况下保存 UIView 内容(屏幕截图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24649428/

相关文章:

mysql - Objective-C Apple Mach-O 链接器错误

objective-c - "relay"委托(delegate)协议(protocol)在 Objective-C 中是不好的做法吗?

ios - 为什么我的 UIView de 在删除观察者后第一次没有初始化,但之后却初始化了?

ios - 如何将addtarget设置为自定义UIView

objective-c - 删除核心数据实体

ios - 在 UITableView 中单击的事件

objective-c - 错误 : unrecognized selector sent to instance

ios - 如何在 UIActionSheet 中的文本旁边插入图像?

iphone - iOS - 导航标题未更新

ios - JSON 解码器 Swift 的潜在错误