在 iOS 14 小部件中使用 CIFilter 的问题

时间:2021-03-18 06:00:28

标签: widget ios14 cifilter

我编写了一个在 SwiftUI 应用中运行良好的小型 CIFilter 例程:

func applyFilter(_ image: UIImage) -> UIImage {
    if let filter = CIFilter(name:"CIComicEffect") {
        filter.setValue(CIImage(image: image), forKey: kCIInputImageKey)
        
        if let outputImage = filter.outputImage  {
            let context = CIContext()

            if let cgimg = context.createCGImage(outputImage, from: outputImage.extent) {
                return UIImage(cgImage: cgimg)
            }
        }
    }
    
    return image
}

但是当我在 iOS 14 小部件中使用它时,

Image(uiImage: uiImage)  // works fine

但是

Image(uiImage: applyFilter(uiImage))  // return nothing

不起作用。

PS:经过进一步测试,似乎 CIComicEffect 不起作用,但 CISepiTone 起作用了。知道为什么吗?

0 个答案:

没有答案