How change kCIInputBrightnessKey using slider value in Swift, I'm getting either white or black picture whatever value the slider get

亡梦爱人 提交于 2019-12-02 10:25:39

The reason is that the filter works every time in the result image produced from the previous slider changed value , here because of this line

let beginImage = CIImage(image: self.myImageView.image!)

so you need to reset the imageView's image top of the function by adding this line

self.myImageView.image = UIImage(named:"girl")

//

 @IBAction func changeContrast(_ sender: UISlider) {
    self.myImageView.image = UIImage(named:"girl")
    let beginImage = CIImage(image: self.myImageView.image!)
    self.filter = CIFilter(name: "CIColorControls")
    self.filter?.setValue(beginImage, forKey: kCIInputImageKey)
    self.filter.setValue(sender.value, forKey: kCIInputBrightnessKey)
    print("Current value of the slider - \(sender.value)")
    self.filteredImage = self.filter?.outputImage
    self.myImageView.image = UIImage(cgImage: self.context.createCGImage(self.filteredImage!, from: (self.filteredImage?.extent)!)!)
} 

Also minimum slider value should be 0 and maximum 1

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