GPUImage的集成步骤

我们做滤镜有四种方式:
1、iOS8.0以上可以UIVisualEffectView做简单的滤镜
2、Accelerate.framework 苹果库,性能最好,有个vImage API
3、系统框架Core Image自带的滤镜效果,常用类:CIContext, CIImage, CIFilter Core Image都提供了大量的滤镜(Filter)
详情可以通过查看官方文档  Core Image官方文档链接
4、采用开源库GPUImage, 开源库GPUImage下载链接

本文采用第四种方式,扩展性强


GPUImage的集成有两种方法:

1. 静态库集成;  

2.集成framework



首先我们先在gitHub里面下载GPUImage

下载开源库GPUImage,下载地址:https://github.com/BradLarson/GPUImage

下载我们打开之后文档结构如图所示

GPUImage的集成步骤_第1张图片


先看第一种静态库集成:

第一步 

用Xcode打开 iOS 项目,看名字一个是iOS的一个是Mac的,不要打开错了,

GPUImage的集成步骤_第2张图片



此时我们要想想,我们自己生成静态库有几种:

模拟器使用的CPU架构
iPhone4s-iPhone5 : i386
iPhone5s-iPhone6plus : x86_64
真机使用的CPU架构
iPhone3gs-iPhone4s : armv7
iPhone5-iPhone5c : armv7s
iPhone5s-iPhone6plus : arm64
特殊:armv7可以在armv7s上正常运行
同时要考虑项目在debug模式和release模式都可能使用,
难道我们要生成四个静态库吗?
debug模式: 模拟器一个 + 真机一个
release模式: 模拟器一个 + 真机一个
最后结论:我们只要生成两个release版本就可以了模拟器一个+真机一个,当然也可以根据您的项目需求来定


第二步:

1. 生成准备

注意:把Xcode - Build Setting 下的Headers文件夹下 Project中的头文件,全部"拖"到 Public文件夹下面(command+a全选),

操作步骤见下图所示:

GPUImage的集成步骤_第3张图片

2. 开始生成

2.1、首先生成模拟器+Debug模式下的文件
选择模拟器状态(任意模拟器)+ Debug模式 + (command +B编译)

GPUImage的集成步骤_第4张图片

此时打开项目的Products->libGPUImage.a(Show in Finder)可以查看生成的静态库

GPUImage的集成步骤_第5张图片


2.2、然后同样的方法生成选择模拟器状态(任意模拟器)+ Release版本的静态库,只需要切换Dubug模式->Release模式 Command +B运行生成

GPUImage的集成步骤_第6张图片

2.3、生成真机状态下的Dubug模式的静态库 Command +B 生成

GPUImage的集成步骤_第7张图片


2.4、同理可以生成真机状态下Release模式下的静态库 Command +B 生成
最后生成4个静态库

GPUImage的集成步骤_第8张图片



第三步:查看静态库支持的架构

GPUImage的集成步骤_第9张图片


第四步:合成静态库

考虑到我们的项目需要上架app,肯定要Release,同时我们又要考虑我们的模拟器也要用,所以最后合成Release模式两个静态库,模拟器状态一个+真机状态一个

合成的方法:

GPUImage的集成步骤_第10张图片


第五步:导入合成的静态库到我们的项目中
1、直接把生成的静态库libGPUImage.a+usr文件夹(.h)拖到我们的工程中GPUImage的集成步骤_第11张图片

2、导入关联的系统框架

GPUImage的集成步骤_第12张图片



3、导入头文件就可以使用

#import "GPUImage.h"  编译,OK。


原创地址:http://www.jianshu.com/p/501547f892d5

这里有一个问题待后续解决:

第二部生成的静态库其实只有2个,可能是Debug和release模式的静态库一样,系统就不会生成多余的静态库了,

那么合并的时候只需要合并这两个静态库就可以了。

GPUImage的集成步骤_第13张图片


这个问题待后面解决,如果有谁清楚的,望指点。

你可能感兴趣的:(iOS开发)