设置 CIFiltered UIImage 时 UIImageVIew 崩溃

UIImageVIew crash when CIFiltered UIImage setted

我正在尝试 "CIFiltering" 一些图片。 但是 UIImageView 在放置过滤后的 uiimage 时崩溃。 我从未见过这种情况,也不知道下一步该怎么做。 请帮助或教一些技巧。谢谢。

https://developer.apple.com/documentation/coreimage/simulating_scratchy_analog_film

事情是这样的。

请在函数中做以下修改:

在函数的开头添加:

public func filter(_image) {
    let aUIImage     = _image

    guard let aCGImage = aUIImage.cgImage else { return }
    let aCIImage       = CIImage(cgImage: aCGImage)
    let context        = CIContext(options: nil)

并将这一行 let image = UIImage(ciImage: speckledImage) 替换为:

let imageRef = context.createCGImage(speckledImage, from: aCIImage.extent)
let image    = UIImage(cgImage: imageRef!)

原因:

You are creating an CIImage and trying to attach it to UIImageView which is not possible. According to apple docs : Although a CIImage object has image data associated with it, it is not an image.

请参阅此 link 了解更多信息:https://developer.apple.com/documentation/coreimage/ciimage