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
}