iOS-CoreImage滤镜效果预览

闲来无事写的 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)
    }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏hrscy

iOS百度地图开发中遇到的问题

由于项目需要地图功能,公司决定使用百度地图,但是百度地图也有很多问题,现在总结一下在百度地图中遇到的坑,希望给各位看官一点参考,避免走一些弯路.我使用的百度地图...

482
来自专栏林德熙的博客

win10 uwp 标题栏 扩展标题栏修改颜色透明标题栏 系统状态栏

我们应用最上方的是标题栏,对于手机,最上方是状态栏。 我们可以自定义标题栏,和不显示标题栏。

792
来自专栏GIS讲堂

C#控件命名规范

1、 本规范是个人平时使用时为方便个人使用而制定的一套规范,有很多地方不易记忆与理解,后续在具体的使用过程中会做一定的改动。

683
来自专栏技术墨客

React——Fragments特性 转

在我们使用React开发组件的时候,每个React组件都必须返回一个根元素。例如下面这样:

751
来自专栏Porschev[钟慰]的专栏

解决文本框在updatepanel中得到焦点,输入法不能切换到中文的问题

今天看人提问才发现TextBox放在updatepanel中,当点击Button时,在Button的click事件中得到焦点。。。 本来应该用TextBox1....

1756
来自专栏前端人人

React第三方组件5(状态管理之Redux的使用②TodoList上)

本教程总共6篇,每日更新一篇,请关注我们!你可以进入历史消息查看以往文章,也敬请期待我们的新文章! 1、React第三方组件5(状态管理之Redux的使用①简...

35110
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何设置全局样式

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

893
来自专栏葡萄城控件技术团队

三天学会HTML5 ——多媒体元素的使用

目录 1. HTML5 Media-Video 2. HTML5 Media-Audio 3. 拖拽操作 4. 获取位置信息 5. 使用Google 地图获取位...

2069
来自专栏owent

JQuery扩展插件--提示信息

https://github.com/owt5008137/SimpleMetro

301
来自专栏一“技”之长

iOS原生地图开发指南续——大头针与自定义标注

在上一篇博客中http://my.oschina.net/u/2340880/blog/415360系统总结了iOS原生地图框架MapKit中主体地图的设置与应...

633

扫码关注云+社区