现在这个社会,美图秀秀、潮自拍特别受欢迎!
那些神奇的滤镜是怎么实现的呢?
今天教你打码!!!
先来看下效果:
某些地方是不能让人YY的!
首先来介绍一下CoreImage:
1.coreImage的介绍
coreImage是IOS5中新加入的一个Objective-c的框架,提供了强大高效的图像处理功能,用来对基于像素的图像进行操作与分析。iOS提供了很多强大的滤镜(Filter),其中IOS5中有48种,而到了最新的IOS6 Filter已经增加到了93种之多,并且这一数字会继续增加。这些Filter提供了各种各样的效果,并且还可以通过滤镜链将各种效果的Filter叠加起来,形成强大的自定义效果,如果你对该效果很满意,还可以子类化滤镜。
下面是我写的一个小demo,及注释:代码拷走就能运行:
这个demo只是简单演示效果,代码不能这样写,为啥呢?
CoreImage在IOS上有很高的效率,但是滤镜和渲染操作也会对主线程造成影响。应该将CoreImage滤镜渲染操作放在后台线程执行,当这些操作介绍后在返回主线程进行界面的更新,阿飞推荐用GCD,毕竟简洁好用、性能好!
而且要注意:
不要重复应用滤镜,即使是同一个滤镜也不要应用两次,因为滤镜后输出照片包含滤镜链,在进行照片渲染是会将滤镜链效果叠加到原始数据上,这时会造成问题。
可以看到CoreImage并不好用,细节太多!官方文档也不易查找!
//打印详细信息,用来便捷的查询,这是推荐的一个方法,自己打印出来找
NSLog(@"%@",[blurFilter attributes]);