ios swift3 core-image cifilter

ios - No se puede disminuir el efecto CIVignette con UISlider



swift3 core-image (1)

Debajo del código basado en mi respuesta al otro mensaje SO Desenfoque de efecto usando el deslizador No funciona correctamente .

@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 }

Salida del Sim:

He usado el efecto CIVignette para la aplicación My Photo Editing. Se aplica en función del evento Changing Slider. He usado el siguiente código y mi problema es cada vez que aumente el valor del control deslizante. El efecto de viñeta aparece pero cada vez que disminuyo el valor del control deslizante, el efecto de viñeta no disminuye.
Por favor ayuda.

@IBAction func slider(_ sender: UISlider) { let startImage = CIImage(image: imgEdited!)! let vignetteFilter = CIFilter(name: "CIVignette")! let radius = 5 vignetteFilter.setValue(startImage, forKey:kCIInputImageKey) vignetteFilter.setValue(sender.value, forKey:"inputIntensity") vignetteFilter.setValue(radius, forKey:"inputRadius") let filteredImageData = vignetteFilter.value(forKey: kCIOutputImageKey) as! CIImage let filteredImageRef = self.context.createCGImage(filteredImageData, from: filteredImageData.extent) imgImage.image = UIImage.init(cgImage: filteredImageRef!) self.imgEdited = imgImage.image }