CoreImage
来源:互联网 发布:photoshop cc18 mac 编辑:程序博客网 时间:2024/05/22 08:26
CoreImage感觉还是挺厉害的。 先看下效果图
- (IBAction)changeView:(id)sender{ //获取文件路径 NSString *filePath = [[NSBundle mainBundle] pathForResource:@"view" ofType:@"png"]; NSURL *fileNameAndPath = [NSURL fileURLWithPath:filePath]; //创建CIImage CIImage *beginImage = [CIImage imageWithContentsOfURL:fileNameAndPath]; //使用滤镜 CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues: kCIInputImageKey, beginImage, @"inputIntensity", @0.8, nil]; CIImage *outPutImage = [filter outputImage];//从滤镜中导出CIImage self.oldImage = [UIImage imageWithCIImage:outPutImage]; self.imageView.image = self.oldImage;
CIFilter 构造函数有两个输入,分别是滤镜的名字,还有规定了滤镜属性的键值和取值的字典。 CISepiaTone 滤镜只能选两个值: KCIInputImageKey (一个CIImage)和 @”inputIntensity”。 后者是一个封装成NSNumber (用新的文字型语法)的浮点小数,取值在0和1之间。大部分的滤镜有默认值。 只有CIImage是个例外。你必须提供一个值给它,因为它没有默认值。从滤镜中导出CIImage很简单,只需要用outputImage方法。
- CIImage
保存图像数据的类,可以通过UIImage,图像文件或者像素数据来创建,包括未处理的像素数据如: - imageWithCVPixelBuffer:
imageWithData:
方法等等。
也可以通过图像数据类比如UIImage,CGImageRef等等。CIFilter
滤镜类,这个框架中对图片属性进行细节处理的类。它对所有的像素进行操作,用一些键-值设置来决定具体操作的程度。CIContext
上下文类,如CoreGraphics以及CoreData中的上下文用于处理绘制渲染以及处理托管对象一样,CoreImage的上下文也是实现对图像处理的具体对象。
这里需要注意的是在Context创建的时候,我们需要给它设定为是基于GPU还是CPU。(这里使用GPU)
基于GPU的话,处理速度更快,因为利用了GPU硬件的并行优势。但是GPU受限于硬件纹理尺寸,而且如果你的程序在后台继续处理和保存图片的话,那么需要使用CPU,因为当app切换到后台状态时GPU处理会被打断。
0 0
- CoreImage
- CoreImage
- CoreImage
- iOS:CoreImage
- 滤镜CoreImage
- Coreimage.framework
- iOS CoreImage
- CoreImage 使用
- iOS中的CoreImage
- iOS CoreImage学习
- iOS CoreImage学习
- CoreImage各种filter
- iOS中的CoreImage
- 老外写的coreimage
- 使用CoreImage教程
- CoreImage框架基本应用
- iOS 的CoreImage
- CoreImage滤镜效果
- Button的四种监听方式
- 阿里巴巴数据产品经理工作总结
- windows7下,使得excel能否在不同窗口中打开多个文件
- MySQL中Index与Key的区别
- 面试总结和心得
- CoreImage
- MVC之EF(增删改显)
- 求两点间最短距离
- 阿甘学java视频--lesson9
- 2015实习准备之C/C++篇(未完待续)
- 二分图的最佳匹配(KM 算法)
- UITextView添加placeholder属性
- 线程的两种创建方式及简单的对比
- Linux必学的60个命令