• GPUImage简单滤镜使用(二)


      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;

  • 相关阅读:
    CVE-20117-111882漏洞复现及利用
    如何查看QQ坦白说来自谁
    2018 巅峰极客CTF misc writeup
    屏幕截图
    Unity中设置屏幕常亮
    面向对象设计原则
    【转】Unity资源管理原理知识(干货不嫌长)
    给指定的图片增加水印
    统计一个目录下各种文件类型及个数
    JDK 开发环境配置
  • 原文地址:https://www.cnblogs.com/salam/p/4981276.html
Copyright © 2020-2023  润新知