首页 > 学院 > 开发设计 > 正文

GPUImage简单滤镜使用(二)

2019-11-14 17:52:45
字体:
来源:转载
供稿:网友

  GPUImage中,提供了许多简单的的常用的滤镜。在上一篇文章讲了如何调节图像的亮度这片文章讲一下如何通过GPUImage调节图像的对比度,饱和度,曝光度,和白平衡(美图秀秀中的色温)。

原图像

  调整图像的对比度

  GPUImageContrastFilter类提供了此功能。该类中有一个属性contrast,我们可以通过修改此属性值(最大值4.0,最小值0.0,正常值1.0)来达到修改图像对比度的目的,使用方法:

    GPUImageContrastFilter *filter = [[GPUImageContrastFilter alloc] init];    filter.contrast = self.sliderView.value;    [filter forcePRocessingAtSize:img.size];    GPUImagePicture *pic = [[GPUImagePicture alloc] initWithImage:img];    [pic addTarget:filter];        [pic processImage];    [filter useNextFrameForImageCapture];    self.imgView.image = [filter imageFromCurrentFramebuffer];

效果如下

                                

  调整图像的饱和度

  GPUImageSaturationFilter类提供了此功能,我们通过修改此类的saturation的属性值(最大值2.0,最小值0.0,正常值1.0)来达到调整图像饱和度的目的

  

    GPUImageSaturationFilter *filter = [[GPUImage    SaturationFilter alloc] init];

 

 

 

  调整图像的曝光度

  GPUImageExposureFilter类提供了此功能。该类中有一个属性exposure,我们可以通过修改此属性值(最大值10.0,最小值-10.0,正常值0.0)来达到修改图像曝光度的目的,使用方法

    GPUImageExposureFilter *filter = [[GPUImageExposureFilter alloc] init];    filter.exposure = self.sliderView.value;

 

  调整图像的色温

  GPUImageWhiteBalanceFilter类提供了此功能。该类中有2个属性temperature(最大值10000,最小值1000,正常值5000)和tint(最大值1000,最小值-1000,正常值0.0).我们可以通过修改它们的属性值来达到修改图像色温的目的,使用方法

 
    GPUImageWhiteBalanceFilter *filter = [[GPUImageWhiteBalanceFilter alloc] init];    filter.temperature = self.sliderView.value;    filter.tint = 0.0;

 

 

 

 

    GPUImageWhiteBalanceFilter *filter = [[GPUImageWhiteBalanceFilter alloc] init];    filter.temperature = 5000;    filter.tint = self.sliderView.value;

 

 

 

 


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表