美文网首页IOSiOS程序猿
iOS-CoreImage滤镜效果预览

iOS-CoreImage滤镜效果预览

作者: cdcyd | 来源:发表于2018-03-21 14:54 被阅读42次

    闲来无事写的 Core Image 里的滤镜效果的Demo,目前 Core Image 有100多种滤镜效果,Demo实现了其中大概一半的效果,实在太多了,后面有时间再补全,有兴趣的可以下载下来看一下(最好用真机查看,模拟器实在太卡了)
    Demo地址: https://github.com/cdcyd/CCFilters
    滤镜的核心实现代码只需三行,如下

    func filter(name: String, parameters: [String:Any]) -> UIImage? {
            guard let image = self.cgImage else {
                return nil
            }
    
            #if DEBUG
            let filter = CIFilter(name: name)
            print(filter?.attributes as Any)
            #endif
    
            // 输入CIImage
            let input = CIImage(cgImage: image)
    
            // 输出CIImage
            let output = input.applyingFilter(name, parameters: parameters)
    
            // 渲染图片(CIImage->CGImage)
            guard let cgimage = CIContext(options: nil).createCGImage(output, from: input.extent) else {
                return nil
            }
            return UIImage(cgImage: cgimage)
        }
    

    相关文章

      网友评论

        本文标题:iOS-CoreImage滤镜效果预览

        本文链接:https://www.haomeiwen.com/subject/todgqftx.html