Wie blur ein vorhandenes Bild in eine UIImageView mit Swift?

Ist das setup einfach.

  • Einen ViewController mit UIImageView, die hat ein Bild zugewiesen.
  • Ein UIButton, dass, wenn geklickt wird, wobei das Bild in der UIImageView.

Wie blur ein vorhandenes Bild in eine UIImageView mit Swift?

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var bg: UIImageView!

    @IBAction func blur(_ sender: Any) {
        let inputImage = CIImage(cgImage: (bg.image?.cgImage)!)

        let filter = CIFilter(name: "CIGaussianBlur")
        filter?.setValue(inputImage, forKey: "inputImage")
        filter?.setValue(10, forKey: "inputRadius")
        let blurred = filter?.outputImage
        bg.image = UIImage(ciImage: blurred!)
    }
}

Wenn der button geklickt wird der Bildschirm nur weiß wird. Kann nicht herausfinden, was ich falsch mache. Wer weiß, was ich falsch mache?

Werden Sie den Test auf einem echten Gerät oder im simulator? Einige CI-Filter (ich arbeite an einer maskierten blur jetzt) haben erbärmliche Leistung (denken in Bezug auf unter eine minute auf die Anzeige) in den simulator.
Überprüfen Sie bitte meine Antwort mit dem Github-link zu testen..

InformationsquelleAutor Mark Moeykens | 2016-12-15

Schreibe einen Kommentar