ios - 从 UIImageView 生成图像时分辨率损失

标签 ios swift core-graphics

好的,抱歉,如果标题有点困惑。基本上我正在尝试获取 ImageView 的图像/ subview 并将它们组合成一个可导出的 UIImage。

这是我当前的代码,但是它有很大的分辨率损失。

func generateImage() -> UIImage{
    UIGraphicsBeginImageContext(environmentImageView.frame.size)
    var context : CGContextRef = UIGraphicsGetCurrentContext()
    environmentImageView.layer.renderInContext(context)
    var img : UIImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return img
}

最佳答案

您必须将上下文的比例设置为视网膜。

UIGraphicsBeginImageContextWithOptions(environmentImageView.frame.size, false, 0)

0 表示使用同样适用于非 Retina 设备的屏幕比例。

关于ios - 从 UIImageView 生成图像时分辨率损失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30742200/

相关文章:

ios - 在 Swift 4 中创建类的非零属性数组

iphone - 将 PNG 图像绘制到图形上下文中以进行混合模式操作

swift - 在 CGContext 中重新创建 UIImageView 的 CGAffineTransform

ios - 使用 presentViewController 时未调用 viewDidDisappear

ios - IQKeyboardManager 的“完成”按钮操作在 Swift 中不起作用

ios - 如何快速更新实例变量?

ios - UIView 不改变旋转时的宽度和高度

ios - reloadSections : 后阴影仍然存在于 UITableView 中

ios - 如何使用动态缓冲区声明定义 Metal 着色器?

iphone - 控制其他应用程序的音量