Unable to Decrease CIVignette effect using UISlider

六月ゝ 毕业季﹏ 提交于 2019-12-06 14:40:10

Below code based on my answer to the other SO post Blur effect using slider Is not working properly.

 @IBAction func slider(_ sender: UISlider) {

    let startImage = CIImage(image: UIImage(named: "Your Image Name")!) // You should initialise your UIImage here not UIImageView
    let vignetteFilter = CIFilter(name: "CIVignette")! 

    vignetteFilter.setValue(startImage, forKey:kCIInputImageKey)
    vignetteFilter.setValue(sender.value, forKey:kCIInputIntensityKey)
    vignetteFilter.setValue(5, forKey:kCIInputRadiusKey)

    let filteredImageData = vignetteFilter.value(forKey: kCIOutputImageKey) as! CIImage
    let filteredImageRef = self.context.createCGImage(filteredImageData, from: filteredImageData.extent)

    self.imgView.image = UIImage.init(cgImage: filteredImageRef!) // Output

 }

Output from the Sim:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!