设置图像对比度-快速

Jus*_*Guy 3 xcode image swift

我想快速设置一个功能,将图像的对比度设置为最大/最大。

func contrastImage(in image: UIImage) -> UIImage? {
    let outpic = image
    return outpic
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何做到这一点。希望有人可以帮助我,谢谢!

Mik*_*son 6

使用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)
}
Run Code Online (Sandbox Code Playgroud)

随意调整inputContrast:值1表示没有变化。小于1表示不饱和。大于1表示增加对比度。