上一篇讲了怎么找到能用的的滤镜和大概怎么去寻找。。。

这里接着说如何详细地给图片加滤镜效果。。前的准备工作。。。

1. 在找到想用的滤镜名字之后。须要知道这个滤镜究竟须要什么參数。

例如以下图

这里打印出来的,就是当前的滤镜的所有參数。

。例如以下图

而在CIAttributeFilterName以下的參数,就是须要设置的属性。。

。这里就是inputColor、inputImage、inputIntensity这3个

当中CIAttributeClass表明这个属性须要的是什么类型的值。

设置属性的方法例如以下:

通过使用setValue forKey的方法来设置属性。。。这个key就是k+属性名+Key

在属性设置完之后,就能够输出了!。

。这里直接用CIColorMonochrome这个滤镜来做演示。。

- (UIImage *)imageFilter:(UIImage *)photo Value:(float)value
{
CIContext *context = [CIContext contextWithOptions:nil]; // 1
CIImage *image = [[CIImage alloc] initWithImage:photo]; // 2 CIFilter *filter = [CIFilter filterWithName:@"CIColorMonochrome"]; // 3 NSLog(@"%@", [filter attributes]); [filter setValue:image forKey:kCIInputImageKey];
[filter setValue:[CIColor colorWithRed:100/255 green:0.4 blue:1] forKey:kCIInputColorKey]; CIImage *result = [filter valueForKey:kCIOutputImageKey]; // 4
CGRect extent = [result extent];
CGImageRef cgImage = [context createCGImage:result fromRect:extent];// 5 return [UIImage imageWithCGImage:cgImage];
}

到这为止。。

。return的UIImage就是叠加上滤镜的图片了。

最新文章

  1. Properties类读取配置文件
  2. Angular快速入门篇
  3. 孙鑫MFC学习笔记2:C++回顾
  4. java多线程synchronized底层实现
  5. Redis 软件和配置
  6. Spring中配置数据源的4种形式(转)
  7. JSP表单处理
  8. HttpClient教程
  9. opencv学习笔记(七)SVM+HOG
  10. 来了解质量管理工具——质量屋(HOQ)
  11. keepalived+nginx实现niginx高可用,宕机自动重启
  12. 对小程序框架WePY的精简总结
  13. vs2017下发现解决python运行出现‘No module named "XXX""的解决办法
  14. css三种样式表写法
  15. 一个小工具 TcpTextListener
  16. 如何在PeopleSoft中找到并更改默认样式表名称
  17. 翻译 – 从心理学角度看UX设计
  18. CSS3新增特性详解(二)
  19. 用 Java 实现一个冒泡排序算法
  20. 如何查找python安装包的路径site-packages?

热门文章

  1. DNS必知必会
  2. opencv3.2.0形态学滤波之开运算、闭运算
  3. 卷积神经网络(CNN)在语音识别中的应用
  4. leetCode题解之求二叉树最大深度
  5. Oracle EBS AR 事务处理到期余额总计API
  6. Oracle 启用归档
  7. 发布MVCIIS报错未能加载文件或程序
  8. 用以替换系统NSLog的YouXianMingLog
  9. November 7th 2016 Week 46th Monday
  10. setnx redis