Нет, это не работает должным образом. Это не работает должным образом на действии sliderValueChanged. @Hakikat

ользовал ползунок для размытия изображения. Я использую следующий код:

let currentFilter = CIFilter(name: "CIGaussianBlur")
let beginImage = CIImage(image: imgImage.image!)

currentFilter!.setValue(beginImage, forKey: kCIInputImageKey)
currentFilter!.setValue(sender.value, forKey: kCIInputRadiusKey)

let cropFilter = CIFilter(name: "CICrop")

cropFilter!.setValue(currentFilter!.outputImage, forKey: kCIInputImageKey)
cropFilter!.setValue(CIVector(cgRect: beginImage!.extent), forKey: "inputRectangle")

let output = cropFilter!.outputImage
let cgimg = context.createCGImage(output!, from: output!.extent)
let processedImage = UIImage(cgImage: cgimg!)

imgImage.image = processedImage

Проблема заключается в том, что всякий раз, когда значение ползунка увеличивается, появляется эффект размытия, но когда я уменьшаю значение ползунка, он не удаляет эффект размытия.

 Khushbu Desai08 сент. 2017 г., 08:08
Я использовал этот код для подключения слайдера, и его событие находится в значении изменено. Я не использовал GLKView @dfd
 dfd08 сент. 2017 г., 07:11
ПОЖАЛУЙСТА, покажи больше кода! (1) Как связан ваш слайдер? (2) Код фильтра у вас хороший, НО,как это выполнено? Обе вещи имеют значение, так как они могут влиять на обаbeginImage а такжеprocessImage, (Надеюсь, вы используетеGLKView также.)
 Khushbu Desai08 сент. 2017 г., 08:06
@IBAction func slider(_ sender: UISlider) { DispatchQueue.main.async { self.colorControl.brightness(sender.value) self.imgImage.image = self.colorControl.outputUIImage() }

Ответы на вопрос(1)

Решение Вопроса

ованного изображения. Попробуйте код ниже.

    let context = CIContext(options: nil)

    @IBAction func blurSlider(_ sender: UISlider) {

    let originalImage = UIImage(named: "Your Image Name")
    let currentValue = Int(sender.value)

    let currentFilter = CIFilter(name: "CIGaussianBlur")
    currentFilter!.setValue(CIImage(image: originalImage!), forKey: kCIInputImageKey)
    currentFilter!.setValue(currentValue, forKey: kCIInputRadiusKey)

    let cropFilter = CIFilter(name: "CICrop")
    cropFilter!.setValue(currentFilter!.outputImage, forKey: kCIInputImageKey)
    cropFilter!.setValue(CIVector(cgRect: (CIImage(image: originalImage!)?.extent)!), forKey: "inputRectangle")

    let output = cropFilter!.outputImage
    let cgimg = context.createCGImage(output!, from: output!.extent)
    let processedImage = UIImage(cgImage: cgimg!)
    imgImage.image = processedImage

    }

Выход из симулятора:

Примечание: Я рекомендую вам протестировать код на реальном устройстве, так как производительность Симулятора на CoreImage слишком низкая.

 Khushbu Desai10 окт. 2017 г., 08:16
Эй @ Джо, спасибо! Это работает для меня :)
 Joe09 окт. 2017 г., 18:07
Дайте мне знать, код работает?
 Khushbu Desai10 окт. 2017 г., 14:47
Эй, @joe, не могли бы вы помочь мне с этим вопросомstackoverflow.com/questions/46660138/...

Ваш ответ на вопрос