上一篇说明如何以动态库Framework形式将GPUImage添加到iOS项目,现在来看如何用GPUImage实现简单的滤镜。项目Demo地址:GitHub地址。
Demo效果图如下:
滤镜界面 美化界面滤镜效果
* 阳光
使用GPUImageHazeFilter滤镜,distance属性值为-0.3。
* 幽暗
使用GPUImageHazeFilter滤镜,distance属性值为0.3。
* 灰白
使用GPUImageGrayscaleFilter滤镜,默认属性值。
* 怀旧
使用GPUImageSepiaFilter滤镜,默认属性值。
美化效果
* 色温
使用GPUImageWhiteBalanceFilter滤镜,调整tint属性值改变色温。
* 亮度
使用GPUImageBrightnessFilter滤镜,调整brightness属性值改变色温。
* 对比度
使用GPUImageContrastFilter滤镜,调整contrast属性值改变色温。
* 锐化
使用GPUImageSharpenFilter滤镜,调整sharpness属性值改变色温。
* 饱和度
使用GPUImageSaturationFilter滤镜,调整saturation属性值改变色温。
其他细节
* 美化部分使用了GPUImageFilterGroup类,将5种滤镜组合,实现美化的叠加效果。
* 上面提到的一些滤镜,其实是通过GPUImageColorMatrixFilter实现的,GPUImageColorMatrixFilter更为强大,只要输入4*4颜色矩阵,就可以任意变换调整图片。
*如果图片较多且较大(比如大于2000*2000像素),会占用大量内存,导致系统APP crash,所以建议先压缩图片,再添加滤镜和美化。
网友评论