请问谁能给我提供一个CIFilter sunbeamsGenerator在Swift 5和iOS 13中的示例代码?
我正在尝试创建一个扩展来应用这个过滤器,并且我有以下错误:
*由于未指明的异常'NSUnknownKeyException‘而终止应用程序,原因:’setValue:forUndefinedKey:这个类不符合键inputImage的键值编码。‘
该代码对于模糊筛选器正常工作,但对sunbeamsGenerator没有影响。
import UIKit
import CoreImage.CIFilterBuiltins
public extension UIImage {
public func withBlurFilter() -> UIImage {
let ciImage = CIImage(image: self)!
let filter = CIFilter.gaussianBlur()
filter.inputImage = ciImage
filter.radius = 30
let vintage = ciImage.applyingFilter(filter.name)
return vintage.uiImage()
}
public func withSunFilter() -> UIImage {
let ciImage = CIImage(image: self)!
let filter = CIFilter.sunbeamsGenerator()
let sunbeam = ciImage.applyingFilter(filter.name)
return sunbeam.uiImage()
}
}提前谢谢,我是CoreImage的新手
发布于 2020-01-16 12:11:10
CISunbeamsGenerator不需要输入图像-它将产生一个太阳光效果(因此名称),例如,您可以使用它来混合到另一个图像上。
当您调用ciImage.applyingFilter(...)时,它将尝试将图像指定为inputImage给给定的过滤器。但是生成器没有这个属性,因此出现了错误。
相反,你可以做这样的事情:
public func withSunFilter() -> UIImage {
let ciImage = CIImage(image: self)!
let filter = CIFilter.sunbeamsGenerator()
let sunbeam = filter.outputImage!
let output = sunbeam.composited(over: ciImage)
return output.uiImage
}检查parameters of CISumbeamsGenerator,看看你能用它做些什么。
https://stackoverflow.com/questions/59768604
复制相似问题