设置图像对比度 - 快速

时间:2018-03-25 17:21:28

标签: swift xcode image

我想在swift中设置一个功能,将图像的对比度设置为full / max。

func contrastImage(in image: UIImage) -> UIImage? {
    let outpic = image
    return outpic
}

我似乎无法弄清楚如何实现这一目标。 希望有人可以帮助我,谢谢!

1 个答案:

答案 0 :(得分:5)

使用Core Image的CIFilter

func increaseContrast(_ image: UIImage) -> UIImage {
    let inputImage = CIImage(image: image)!
    let parameters = [
        "inputContrast": NSNumber(value: 2)
    ]
    let outputImage = inputImage.applyingFilter("CIColorControls", parameters: parameters)

    let context = CIContext(options: nil)
    let img = context.createCGImage(outputImage, from: outputImage.extent)!
    return UIImage(cgImage: img)
}

根据需要调整inputContrast:值为1表示无变化。少于1意味着去饱和。大于1意味着增加对比度。