给图片增加滤镜有这两种方式: CoreImage / openGLES
下面先说明如何使用CoreImage给图片添加滤镜, 主要为以下步骤:
#1.导入CIImage格式的原始图片
#2.创建CIFilter滤镜
#3.用CIContext将滤镜中的图片渲染出来
#4.导出渲染后的图片
参考代码:
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 26 |
|
当要设置多个滤镜的时候, 出了新创建一个CIFilter外还要额外设定kCIInputAngleKey, 代码如下:
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 26 27 28 29 30 31 32 33 34 35 36 |
|
下面来介绍怎么用openGLES来使用滤镜渲染图片
使用openGlES的步骤大致如下:
#1.导入要渲染的图片
#2.获取OpenGLES渲染的上下文
#3.创建出渲染的GLKView buffer
#4.创建CoreImage的上下文
#5.进行CoreImage的相关设置
#6.开始渲染并显示图片
参考代码如下:
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 26 27 28 29 30 31 |
|
如果要动态渲染, 可以通过UISilder动态调整一下代码的vaule值
[filter setValue:vaule forKey:kCIInputIntensityKey];
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文链接:https://my.lmcjl.com/post/19834.html
4 评论