LightRoom 0.9.9

<<<LightRoom 0.9.9>>>

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新版本2016年2月
SPM支持 SPM

muukii0803muukiimuukii 维护。



<<<LightRoom 0.9.9>>>

  • 作者:
  • muukii

<<<a id="user-content-lightroom" class="anchor" href="#lightroom" aria-hidden="true">LightRoom<<</a>

用 CoreImage 实现简单的图像滤镜链式调用


<<<a id="user-content-installation" class="anchor" href="#installation" aria-hidden="true">安装<<</a>

<<<a id="user-content-usage" class="anchor" href="#usage" aria-hidden="true">使用<<</a>

首先创建 FilterComponent,然后使用它们创建一个 FilterChain

<<<a id="user-content-chaining" class="anchor" href="#chaining" aria-hidden="true">链式<<</a>

image1 >>> colorControl --* addition
             blendImage >>> addition --* overlay
            image2 >>> colorControl2 >>> overlay

<<<a id="user-content-multiple-chaining" class="anchor" href="#multiple-chaining" aria-hidden="true">多重链式<<</a>

您可以使用 >>> 连接 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

<<<a id="user-content-performance" class="anchor" href="#performance" aria-hidden="true">性能<<</a>

FilterComponent 有一个 CIFilter,它被缓存,只会创建一次。

这种结构在性能上具有优势,非常适合实时过滤相机实现。