版本記錄
版本號 | 時間 |
---|---|
V1.0 | 2017.09.04 |
前言
GPUImage
是直接利用顯卡實現(xiàn)視頻或者圖像處理的技術(shù)。感興趣可以看上面幾篇文章嘱根。
1. GPUImage解析(一) —— 基本概覽(一)
2. GPUImage解析(二) —— 基本概覽(二)
3. GPUImage解析(三) —— 基本概覽(三)
4. GPUImage解析(四) —— 安裝方法及框架介紹
5. GPUImage解析(五) —— 框架中的幾個基類
功能需求
下面應(yīng)用GPUImage中的一種濾鏡网梢,進行簡單的濾鏡和顯示操作履澳。
功能實現(xiàn)
下面我們就用OC進行簡單的實現(xiàn)。
1. JJGPUImageSimpleVC.m
#import "JJGPUImageSimpleVC.h"
#import "GPUImage.h"
@interface JJGPUImageSimpleVC ()
@property (nonatomic, strong) UIImageView *imageView;
@end
@implementation JJGPUImageSimpleVC
#pragma mark - Override Base Function
- (void)viewDidLoad
{
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
self.imageView = [[UIImageView alloc] init];
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.imageView.frame = self.view.frame;
[self.view addSubview:self.imageView];
[self loadImage];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBarHidden = YES;
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
self.navigationController.navigationBarHidden = NO;
}
#pragma mark - Object Private Function
- (void)loadImage
{
//實例化一種濾鏡
GPUImageSepiaFilter *imageFilter = [[GPUImageSepiaFilter alloc] init];
self.imageView.image = [imageFilter imageByFilteringImage:[UIImage imageNamed:@"autumn"]];
}
@end
這里還要注意哭廉,在使用之前不要忘記引入頭文件脊僚。
#import "GPUImage.h"
主要的濾鏡操作都在方法- (void)loadImage
里面。
功能實現(xiàn)
下面我們就看一下功能實現(xiàn)的效果圖,測試手機使用的是6s plus
辽幌。GPUImageFilter
就是用來接收源圖像增淹,通過自定義的頂點、片元著色器來渲染新的圖像乌企,并在繪制完成后通知響應(yīng)鏈的下一個對象虑润。
后記
未完,待續(xù)~~~