这里先先写获取libGPUImage.a静态库文件,再先获取相应的头文件吧
一、首先下载GPUImage https://github.com/BradLarson/GPUImage (获取GPUImag)
二、点击打开运行framework文件夹下的GPUImage.xcodeproj工程(获取真机和模拟器所需的libGPUImage.a文件)(要在真机上运行,因为好像模拟器运行的时候获取不了libGPUImage.a文件)
运行前是这样的(libGPUImage.a是红的字体)(再强调一下,要真机运行)
运行后是这样的(libGPUImage.a字体变成了黑色,说明可以了)
选中libGPUImage.a右键show in finder找到文件所在目录 (libGPUImage.a所在的文件夹为Debug-iphoneos(在你项目中真机要用) 和 Debug-iphonesimulator(在你项目中模拟器要用) )
三、真机和模拟器所要用到的libGPUImage.a进行合成 (静态库的合成)
即:在终端输入:lipo –create 真机库路径 模拟器库路径 –output 保存路径
(真机路径:把Debug-iphoneos文件夹所在的libGPUImage.a文件直接拖到create(空格)后面
模拟器路径:Debug-iphonesimulator) 文件夹所在的libGPUImage.a拖到真机库路径(空格后面)
保存路径:新建一个文件夹(静态库),拖到output(空格后面) 然后再加/libGPUImage.a 按回车,合成搞定!!
打开之前见的文件夹(静态库)把获取到的libGPUImage.a拖到自己工程中
四、获取所需的头文件
有些文章是设么写的,说把整个工程拖进去,当然我不建议这样错,因为麻烦
如下图,在build phases中的headers(172 items)中点击Project,然后选中全部文件,右键show in finder会跳出三个文件夹,然后分别把选中的文件拷贝到自己的工程上(我放在了在工程新建的文件夹中)
五、添加所需要的依赖库
六、GPUImage的使用
#import "ViewController.h"
#import "GPUImage.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
UIImage * inputImage = [UIImage imageNamed:@"timg"];
//使用黑白素描滤镜
GPUImageSketchFilter *disFilter = [[GPUImageSketchFilter alloc] init];
//设置要渲染的区域
[disFilter forceProcessingAtSize:inputImage.size];
[disFilter useNextFrameForImageCapture];
//获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:inputImage];
//添加上滤镜
[stillImageSource addTarget:disFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [disFilter imageFromCurrentFramebuffer];
//加载出来
UIImageView *imageView = [[UIImageView alloc] initWithImage:newImage];
imageView.frame = CGRectMake(0,50,inputImage.size.width ,inputImage.size.height);
[self.view addSubview:imageView];
}
就这样就可以运行了、效果图(黑白素面):
一般出现问题
这问题是缺少libGPUImage.a文件,也就是说不支持模拟器测试,只支持真机测试,所以看看步骤二、三有没遗漏的