準備工作: 導入GPUImage框架
方式一 : 利用cocoapods 集成
方式二 : 去Githup下載源代碼,然后導入
代碼 :
方法一: (利用GPUImage框架提供的GPUImageView來展示濾鏡后的圖片)
// 預覽view
GPUImageView *imageView = [[GPUImageView alloc]initWithFrame:self.view.bounds];
[self.view insertSubview:imageView atIndex:1];
// 原圖
UIImage *image = [UIImage imageNamed:@"10.jpg"];
// 創(chuàng)建圖片源
GPUImagePicture *picture = [[GPUImagePicture alloc]initWithImage:image];
// 濾鏡
GPUImageSepiaFilter *filter = [GPUImageSepiaFilter new];
// 把圖片數(shù)據(jù)添加到過濾器中
[picture addTarget:filter];
// 把過濾后的數(shù)據(jù)放到預覽view上展示
[filter addTarget:imageView];
// 開始渲染
[picture processImage];
方法二 : (用自己定義的UImageView)
// 預覽view
UImageView *imageView = [[UImageView alloc]initWithFrame:self.view.bounds];
[self.view addSubview:imageView];
// 原圖
UIImage *image = [UIImage imageNamed:@"10.jpg"];
// 創(chuàng)建圖片源
GPUImagePicture *picture = [[GPUImagePicture alloc]initWithImage:image];
// 濾鏡
GPUImageSepiaFilter *filter = [GPUImageSepiaFilter new];
// 把圖片數(shù)據(jù)添加到過濾器中
[picture addTarget:filter];
// 開始渲染
[picture processImage];
// 獲取濾鏡后的image
UIImage *image= [filter imageFromCurrentFramebuffer]
// 給自己定義的imageview賦值
imageView.image = image;
濾鏡可以隨便換的,想要達到什么效果換什么濾鏡就可以了
簡單介紹幾種濾鏡:
GPUImageBrightnessFilter : 調(diào)整亮度(所謂的美白)
GPUImageBilateralFilter : 模糊 (用來忽略臉上的痘痘啊之類的)
GPUImageSepiaFilter : 懷舊風格