博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS通过CIFilter对图像进行滤镜处理
阅读量:5331 次
发布时间:2019-06-14

本文共 1192 字,大约阅读时间需要 3 分钟。

在iOS5.0之后,苹果公司提供了可以对图像进行处理的CoreImage框架。

其中里面有一个CIFilter的滤镜,里面提供了非常强大的滤镜功能。本篇只是说其中部分的方法和使用。其他的功能还是去看下苹果的官方文档更为全面一些。同时,本文参考了该篇博客http://www.cnblogs.com/YouXianMing/p/3719056.html。

这是主要的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
//将UIImage转换成CIImage
CIImage *ciImage = [[CIImage alloc] initWithImage:originImage];
 
//创建滤镜
CIFilter *filter = [CIFilter filterWithName:
@"CIPhotoEffectChrome"
keysAndValues:kCIInputImageKey, ciImage, 
nil
];
 
//已有的值不改变,其他的设为默认值
[filter setDefaults];
 
//获取绘制上下文
CIContext *context = [CIContext contextWithOptions:
nil
];
 
//渲染并输出CIImage
CIImage *outputImage = [filter outputImage];
 
//创建CGImage句柄
CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]];
 
//获取图片
UIImage *image = [UIImage imageWithCGImage:cgImage];
 
//释放CGImage句柄
CGImageRelease(cgImage);
 
imageView.image = image;

这里我使用的滤镜效果是”CIPhotoEffectChrome”效果,当然,CIFilter的滤镜效果可是非常多的,这是官方文档的截图

放个官方文档的网址https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CoreImageFilterReference/#//apple_ref/doc/filter/ci/CIMaskedVariableBlur

为了方便各个滤镜效果的对比,用了一个picker来选择滤镜

奉上demo

 

本文出自  ,转载时请注明出处及相应链接。

转载于:https://www.cnblogs.com/yu0806/p/5555842.html

你可能感兴趣的文章
自学_CSS<二>
查看>>
delphi 手机振动 IOS Android
查看>>
[转发]Android 系统稳定性 - ANR(一)
查看>>
HashMap、HashSet源代码分析其 Hash 存储机制
查看>>
原生js实现元素随手指滑动上下滚动
查看>>
线段树【注意事项】
查看>>
Leetcode 134 Gas Station
查看>>
iptables
查看>>
TF-IDF与余弦相似性的应用(一):自动提取关键词
查看>>
“随时、随性、随遇、随缘、随喜”
查看>>
linux下apache和tomcat整合
查看>>
【结构型模式】《大话设计模式》——读后感 (9)牛市股票还会亏钱?——外观模式...
查看>>
DNN-HMM
查看>>
MQ java 基础编程(一)
查看>>
Asp.net中IsPostBack的实现原理
查看>>
微信小程序 - 配置普通二维码跳小程序
查看>>
es5~es6
查看>>
mongoDB - 安装
查看>>
Python学习1,Python的六大数据类型
查看>>
JavaEE
查看>>