t];
filter.contrast = value;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
该功能使用了GPUImage库中的GPUImageContrastFilter滤镜,具体介绍请参考GPUImage简单滤镜使用(二)
3.色温的实现
+ (UIImage *)changeva lueForWhiteBalanceFilter:(float)value image:(UIImage *)image
{
GPUImageWhiteBalanceFilter *filter = [[GPUImageWhiteBalanceFilter alloc] init];
filter.temperature = value;
filter.tint = 0.0;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
}
该功能使用了GPUImage库中的GPUImageWhiteBalanceFilter滤镜。
4.饱和度的实现
+ (UIImage *)changeva lueForSaturationFilter:(float)value image:(UIImage *)image;
{
GPUImageSaturationFilter *filter = [[GPUImageSaturationFilter alloc] init];
filter.saturation = value;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
}
该功能使用了GPUImage库中的GPUImageSaturationFilter滤镜。
5.高光和暗部的实现
+ (UIImage *)changeva lueForHightlightFilter:(float)value image:(UIImage *)image;
{
GPUImageHighlightShadowFilter *filter = [[GPUImageHighlightShadowFilter alloc] init];
filter.highlights = value;
filter.shadows = 0.0;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
}
+ (UIImage *)changeva lueForLowlightFilter:(float)value image:(UIImage *)image
{
GPUImageHighlightShadowFilter *filter = [[GPUImageHighlightShadowFilter alloc] init];
filter.highlights = 1.0;
filter.shadows = value;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
}
该功能使用了GPUImage库中的GPUImageHighlightShadowFilter滤镜。
6.智能补光的实现
+ (UIImage *)changeva lueForExposureFilter:(float)value image:(UIImage *)image
{
GPUImageExposureFilter *filter = [[GPUImageExposureFilter alloc] init];
filter.exposure = value;
[filter forceProcessingAtSize:image.size];
GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:image];
[pic addTarget:filter];
[pic processImage];
[filter useNextFrameForImageCapture];
return [filter imageFromCurrentFramebuffer];
}
该功能使用了GPUImage库中的GPUImageExposureFilter滤镜。
我将会在以后的时间里添加几篇介绍GPUImage库中的剩余滤镜,慢慢来学习opengl es.加油,我的宝贝~上下眼皮开始打架了,睡觉喽!咦,最后附几张效果图吧
原图 亮度较暗 对比度较高
色温较冷 饱和度较高 高光
智能补光
下载项目
|