测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | MIT |
发布最新版本 | 2016年2月 |
SPM支持 SPM | ✗ |
由 muukii0803、muukii、muukii 维护。
用 CoreImage 实现简单的图像滤镜链式调用
首先创建 FilterComponent
,然后使用它们创建一个 FilterChain
。
image1 >>> colorControl --* addition
blendImage >>> addition --* overlay
image2 >>> colorControl2 >>> overlay
您可以使用 >>>
连接 FilterChain
。
let colorControl = LightRoom.ColorAdjustment.ExposureAdjust(ev: 1)
let chain1 = FilterChain { (image: CIImage?) -> CIImage? in
image >>> colorControl
return colorControl.outputImage
}
let colorControl2 = LightRoom.ColorAdjustment.ColorControls(saturation: 0.3, brightness: 0, contrast: 1)
let chain2 = FilterChain { (image: CIImage?) -> CIImage? in
image >>> colorControl2
return colorControl2.outputImage
}
image1 >>> chain1 >>> chain2
chain2.outputImage
FilterComponent 有一个 CIFilter,它被缓存,只会创建一次。
这种结构在性能上具有优势,非常适合实时过滤相机实现。