CoreImage滤镜效果

1、CoreImage介绍
coreImage是IOS5中新加入的一个Objective-c的框架,提供了强大高效的图像处理功能,用来对基于像素的图像进行操作与分析。IOS提供了很多强大的滤镜(Filter),其中IOS5中有48种,而到了最新的IOS6 Filter已经增加到了93种之多,并且这一数字会继续增加。这些Filter提供了各种各样的效果,并且还可以通过滤镜链将各种效果的Filter叠加起来,形成强大的自定义效果,如果你对该效果很满意,还可以子类化滤镜。
2、类的介绍
1)CIImage:保存图像数据的类CGImageRef:图像中的数据
2) CIFilter:滤镜类图片属性进行细节处理的类它对所有的像素进行操作用键-值(KVC)来设置
3) CIContext:上下文是实现对图像处理的具体对象->滤镜对象输出的图像并不是合成之后的图像需要使用图像处理的上下文合并输出图像
3、按效果分类
kCICategoryDistortionEffect扭曲效果,比如bump、旋转、hole
kCICategoryGeometryAdjustment几何开着调整,比如仿射变换、平切、透视转换
kCICategoryCompositeOperation合并,比如源覆盖(source over)、最小化、源在顶(source atop)、色彩混合模式
kCICategoryHalftoneEffect Halftone效果,比如screen、line screen、hatched
kCICategoryColorAdjustment色彩调整,比如伽马调整、白点调整、曝光
kCICategoryColorEffect色彩效果,比如色调调整、posterize
kCICategoryTransition图像间转换,比如dissolve、disintegrate with mask、swipe
kCICategoryTileEffect瓦片效果,比如parallelogram、triangle
kCICategoryGenerator图像生成器,比如stripes、constant color、checkerboard
kCICategoryGradient渐变,比如轴向渐变、仿射渐变、高斯渐变
kCICategoryStylize风格化,比如像素化、水晶化
kCICategorySharpen锐化、发光
kCICategoryBlur模糊,比如高斯模糊、焦点模糊、运动模糊
按使用场景分类:
kCICategoryStillImage用于静态图像
kCICategoryVideo用于视频
kCICategoryInterlaced用于交错图像
kCICategoryNonSquarePixels用于非矩形像素
kCICategoryHighDynamicRange用于HDR
4、主要步骤:
1.实例CIImage ->先把UIImage->CGImageRef -> CIImage
2.创建CIFilter滤镜并给滤镜设置属性(KVC)
3.创建CIContext上下文
4.合并滤镜输出的图像->得到一个合并之后的图像
5.赋给UIImageView对象进行显示
6.如果想使用滤镜链可以再次叠加效果

小小测试demo https://github.com/HMJe/coreImage

你可能感兴趣的:(滤镜效果)