亮度调节GPUImageBrightnessFilter
//亮度调节
//创建一个亮度的滤镜
_brightnessFilter = [[GPUImageBrightnessFilter alloc] init];
_brightnessFilter.brightness = self.slider.value;
//设置要渲染的区域
[_brightnessFilter forceProcessingAtSize:self.inputImage.size];
[_brightnessFilter useNextFrameForImageCapture];
//获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:self.inputImage];
//添加上滤镜
[stillImageSource addTarget:_brightnessFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_brightnessFilter imageFromCurrentFramebuffer];
//加载出来
self.imgView.image = newImage;
//brightness的范围[-1,1]
_brightnessFilter.brightness = self.slider.value;
效果图
曝光GPUImageExposureFilter
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_exposureFilter = [[GPUImageExposureFilter alloc]init];
_exposureFilter.exposure =sender.value;
[_exposureFilter forceProcessingAtSize:image.size];
[_exposureFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_exposureFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_exposureFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
对比度GPUImageContrastFilter
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_constrastFilter = [[GPUImageContrastFilter alloc]init];
_constrastFilter.contrast =sender.value;
[_constrastFilter forceProcessingAtSize:image.size];
[_constrastFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_constrastFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_constrastFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
饱和度GPUImageSaturationFilter
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_saturationFilter = [[GPUImageSaturationFilter alloc]init];
_saturationFilter.saturation =sender.value;
[_saturationFilter forceProcessingAtSize:image.size];
[_saturationFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_saturationFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_saturationFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
灰度
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_gammaFilter.gamma = self.slider.value;
[_gammaFilter forceProcessingAtSize:image.size];
[_gammaFilter useNextFrameForImageCapture];
// //获取数据源
_stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[_stillImageSource addTarget:_gammaFilter];
//开始渲染
[_stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_gammaFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
色阶LevelsFilter
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
[_levelsFilter setMin:0.0 gamma:sender.value max:1.0];
[_levelsFilter forceProcessingAtSize:image.size];
[_levelsFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_levelsFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_levelsFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
褐色SepiaFilter
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
[_sepiaFilter forceProcessingAtSize:image.size];
[_sepiaFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_sepiaFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_sepiaFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
效果
Haze
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_hazeFilter.distance = sender.value;
[_hazeFilter forceProcessingAtSize:image.size];
[_hazeFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_hazeFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_hazeFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;
highlightAndShadow
UIImage *image = [UIImage imageNamed:@"meinv.jpg"];
_highlightShadowFilter.highlights = sender.value;
[_highlightShadowFilter forceProcessingAtSize:image.size];
[_highlightShadowFilter useNextFrameForImageCapture];
// //获取数据源
GPUImagePicture *stillImageSource = [[GPUImagePicture alloc]initWithImage:image];
//添加上滤镜
[stillImageSource addTarget:_highlightShadowFilter];
//开始渲染
[stillImageSource processImage];
//获取渲染后的图片
UIImage *newImage = [_highlightShadowFilter imageFromCurrentFramebuffer];
//加载出来
self.imageView.image = newImage;