Как реализовать CICheckerboardGenerator в Swift 4? - PullRequest
0 голосов
/ 28 января 2019
@IBOutlet var imageView: UIImageView!

var context: CIContext!
var currentFilter: CIFilter!


override func viewDidLoad() {

    super.viewDidLoad()

    context = CIContext()

    currentFilter = CIFilter(name: "CICheckerboardGenerator", parameters: ["inputColor0" : CIColor.white, "inputColor1" : CIColor.black, "inputCenter" : CIVector(x: 0, y: 0), "inputWidth" : 50.00])

    if let cgimg = context.createCGImage(currentFilter.outputImage!, from: currentFilter.outputImage!.extent) {
        let processedImage = UIImage(cgImage: cgimg)
        imageView.image = processedImage
    }
}

Я создал две переменные вверху класса и в функции viewDidLoad() пытаюсь сгенерировать шахматную доску.Что я делаю неправильно?Я знаю, что этот фильтр не требует входного изображения.Он не создает изображение, как я ожидал.

1 Ответ

0 голосов
/ 28 января 2019

Вам необходимо создать CGImage, как показано ниже,

if let cgimg = context.createCGImage(currentFilter.outputImage!, from: self.imageView.bounds) {
    self.imageView.image = UIImage(cgImage: cgimg)
}
...