调整图像大小会降低分辨率

时间:2016-07-14 22:39:55

标签: ios swift

我正在使用此方法调整图片大小:

func imageToResizedImage(image: UIImage, size: CGSize) -> UIImage {
    UIGraphicsBeginImageContext(size)
    image.drawInRect(CGRectMake(0,0, size.width, size.height))
    let newImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return newImage
}

但是,当我将其调整为较小(例如,缩小50%)时,我发现分辨率变得更糟。它变得模糊。

我可以将哪些内容添加到代码中,以便分辨率仍然很高?

1 个答案:

答案 0 :(得分:0)

UIGraphicsBeginImageContext创建一个比例因子为1.0的上下文,它与任何现代iOS设备(2.0或3.0)的屏幕分辨率都不匹配。来自documentation

  

此函数等效于调用UIGraphicsBeginImageContextWithOptions函数,其中opaque参数设置为NO,比例因子为1.0。

改用UIGraphicsBeginImageContextWithOptions;如果您将比例因子传递给0.0,它将默认为设备主屏幕的比例。