zoukankan      html  css  js  c++  java
  • cifilter 可视化

    //Iphone中目前可用的

         CIAdditionCompositing     //影像合成

        CIAffineTransform           //仿射变换

        CICheckerboardGenerator       //棋盘发生器

        CIColorBlendMode              //CIColor混合模式

        CIColorBurnBlendMode          //CIColor燃烧混合模式

        CIColorControls 

        CIColorCube                   //立方体

        CIColorDodgeBlendMode         //CIColor避免混合模式

        CIColorInvert                 //CIColor反相

        CIColorMatrix                 //CIColor矩阵

        CIColorMonochrome             //黑白照

        CIConstantColorGenerator      //恒定颜色发生器

        CICrop                        //裁剪

        CIDarkenBlendMode             //亮度混合模式

        CIDifferenceBlendMode         //差分混合模式

        CIExclusionBlendMode          //互斥混合模式

        CIExposureAdjust              //曝光调节

        CIFalseColor                  //伪造颜色

        CIGammaAdjust                 //灰度系数调节

        CIGaussianGradient            //高斯梯度

        CIHardLightBlendMode          //强光混合模式

        CIHighlightShadowAdjust       //高亮阴影调节

        CIHueAdjust                   //饱和度调节

        CIHueBlendMode                //饱和度混合模式

        CILightenBlendMode            

        CILinearGradient              //线性梯度

        CILuminosityBlendMode         //亮度混合模式

        CIMaximumCompositing          //最大合成

        CIMinimumCompositing          //最小合成

        CIMultiplyBlendMode           //多层混合模式

        CIMultiplyCompositing         //多层合成

        CIOverlayBlendMode            //覆盖叠加混合模式

        CIRadialGradient              //半径梯度

        CISaturationBlendMode         //饱和度混合模式

        CIScreenBlendMode             //全屏混合模式

        CISepiaTone                   //棕黑色调

        CISoftLightBlendMode          //弱光混合模式

        CISourceAtopCompositing       

        CISourceInCompositing 

        CISourceOutCompositing 

        CISourceOverCompositing 

        CIStraightenFilter            //拉直过滤器

        CIStripesGenerator            //条纹发生器

        CITemperatureAndTint          //色温

        CIToneCurve                   //色调曲线

        CIVibrance                    //振动

        CIVignette                    //印花

        CIWhitePointAdjust            //白平衡调节

    官方文档中列表:

    CICategoryBlur

    CICategoryColorAdjustment

    CICategoryColorEffect

    CICategoryCompositeOperation

    CICategoryDistortionEffect

    CICategoryGenerator

    CICategoryGeometryAdjustment

    CICategoryGradient

    CICategoryHalftoneEffect

    CICategoryReduction

    CICategorySharpen

    CICategoryStylize

    CICategoryTileEffect

    CICategoryTransition

    ==============================================================

    [Addition] CIAdditionCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Affine Transform] CIAffineTransform

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputTransform : {
    CIAttributeClass = NSValue;
    CIAttributeDefault = "CGAffineTransform: {{1, 0, 0, 1}, {0, 0}}";
    CIAttributeIdentity = "CGAffineTransform: {{1, 0, 0, 1}, {0, 0}}";
    CIAttributeType = CIAttributeTypeTransform;
    }

    ==============================================================

    [Checkerboard Generator] CICheckerboardGenerator

    inputSharpness : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeMax = 1;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0 0 0 1)";
    }

    inputCenter : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[150 150]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputWidth : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 80;
    CIAttributeSliderMax = 800;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeDistance;
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    }

        //  filter

        CIFilter *filter = [CIFilter filterWithName:@"CICheckerboardGenerator"]; 

        [filter setValue:[CIVector vectorWithX:100 Y:100] forKey:@"inputCenter"];

        [filter setValue:[NSNumber numberWithInt:1] forKey:@"inputSharpness"];

        [filter setValue:[NSNumber numberWithInt:80] forKey:@"inputWidth"];

        [filter setValue:[CIColor colorWithCGColor:[UIColor whiteColor].CGColor ] forKey:@"inputColor1"];

        [filter setValue:[CIColor colorWithCGColor:[UIColor redColor].CGColor ] forKey:@"inputColor1"];

        

        // output

        NSLog(@"attributes: %@", [filter attributes]);

        CIImage *outputImage = [filter outputImage];

        CGImageRef cgimg = [context createCGImage:outputImage fromRect:self.view.frame];

        UIImage *newImg = [UIImage imageWithCGImage:cgimg];

    注意:filter生成的outputImage无限大,不能用[outputImage extends]取得rect

    ==============================================================

    [Color Blend Mode] CIColorBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIColorBlendMode"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:backgroundImage forKey:@"inputBackgroundImage"];

       

    ==============================================================

    [Color Burn Blend Mode] CIColorBurnBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;}

    CIFilter *filter = [CIFilter filterWithName:@"CIColorBurnBlendMode"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:backgroundImage forKey:@"inputBackgroundImage"];

    ==============================================================

    [Color Cube] CIColorCube

    inputCubeDimension : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 2;
    CIAttributeIdentity = 2;
    CIAttributeMax = 64;
    CIAttributeMin = 2;
    CIAttributeType = CIAttributeTypeCount;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputCubeData : {
    CIAttributeClass = NSData;
    CIAttributeDefault = ;
    CIAttributeIdentity = ;
    }

    色彩立方

    CIColorCube 过滤器利用一个三维色彩表对源图像的象素进行转换。图 4-27 显示了利用 CIColorCube 过滤器可以达到的效果。最左边是海滩风景的原始图像。右边三幅图像是对原始图像应用了不同的色彩表取值所得到的效果。

    图 4-27 :  原始图 (最左边)与应用了色彩立方过滤器处理以后所得到的图像

    所属类别: kCICategoryColorEffect, kCICategoryVideo, kCICategoryInterlaced, kCICategoryNonSquarePixels, kCICategoryStillImage, kCICategoryBuiltIn

    参数

    inputImage

    需要处理的 CIImage 对象。

    inputCubeData

    一个指向色彩立方数据的 NSData 指针,这个色彩立方数据由经过 alhpa 预相乘的浮点型 RGBA 元素构成,这些元素按照下面的方式排序:所有数据的列和分别以红色和绿色为索引。每个数据平面后面紧跟更高一层的数据平面,平面的索引是蓝色。

    比如,如果一张表有16行、16列、16层平面,那么它就有4096个元素。每个元素为16字节 (4 个浮点型数字),因此这张表占用的物理空间为 64K 。如果一个元素的地址表示为红色所谓是5、绿色索引为7、蓝色索引为11,那么这个元素的位移量为:

    5 + 7 * 16 + 11 * 16 * 16 = 2933

    需要注意的是,行、列、平面等索引以及元素位移的起始值均为 0

    如果表中的值范围在[0...1]以外,那么 CIColorCube 过滤器的行为会是不确定的。

    inputCubeDimension

    色彩立方表的边界大小。这个值必须是一个整数,并且需要是2的幂(n次方)

    ==============================================================

    [Color Dodge Blend Mode] CIColorDodgeBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIColorDodgeBlendMode"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:backgroundImage forKey:@"inputBackgroundImage"];

    ==============================================================

    [Color Invert] CIColorInvert

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIColorInvert"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    ==============================================================

    [Color Matrix] CIColorMatrix

    inputBiasVector : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 0 0 0]";
    CIAttributeIdentity = "[0 0 0 0]";
    }

    inputRVector : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[1 0 0 0]";
    CIAttributeIdentity = "[1 0 0 0]";
    }

    inputAVector : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 0 0 1]";
    CIAttributeIdentity = "[0 0 0 1]";
    }

    inputBVector : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 0 1 0]";
    CIAttributeIdentity = "[0 0 1 0]";
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputGVector : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 1 0 0]";
    CIAttributeIdentity = "[0 1 0 0]";
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIColorMatrix"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[CIVector vectorWithX:1 Y:0 Z:0 W:0] forKey:@"inputRVector"];

    [filter setValue:[CIVector vectorWithX:0 Y:0.9 Z:0.3 W:0] forKey:@"inputGVector"];

    [filter setValue:[CIVector vectorWithX:0 Y:0.1 Z:0.7 W:0] forKey:@"inputBVector"];

    CIFilter *filter = [CIFilter filterWithName:@"CIColorMatrix"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[CIVector vectorWithX:0.8 Y:0 Z:0.3 W:0] forKey:@"inputRVector"];

    [filter setValue:[CIVector vectorWithX:0 Y:1 Z:0 W:0] forKey:@"inputGVector"];

    [filter setValue:[CIVector vectorWithX:0.2 Y:0 Z:0.8 W:0] forKey:@"inputBVector"];

    色彩矩阵

    CIColorMatrix 过滤器对源色彩值进行预相乘运算并对每个色彩组件加上一个偏移参数。请比较下面的图像与 4-19 中的原始图像。

    注意:三个vectorrgb值纵向相加=1时不会产生色偏

    ==============================================================

    [Color Monochrome] CIColorMonochrome

    inputColor : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0.6 0.45 0.3 1)";
    CIAttributeType = CIAttributeTypeColor;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputIntensity : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeIdentity = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeScalar;
    }

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:0.8] forKey:@"inputIntensity"];

    ==============================================================

    [Constant Color Generator] CIConstantColorGenerator

    inputColor : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 0 0 1)";
    CIAttributeType = CIAttributeTypeColor;
    }

    ==============================================================

    [Crop] CICrop

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputRectangle : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[-1.70141e+38 -1.70141e+38 3.40282e+38 3.40282e+38]";
    CIAttributeIdentity = "[-1.70141e+38 -1.70141e+38 3.40282e+38 3.40282e+38]";
    CIAttributeType = CIAttributeTypeRectangle;
    }

    [Darken Blend Mode] CIDarkenBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Difference Blend Mode] CIDifferenceBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Exclusion Blend Mode] CIExclusionBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Exposure] CIExposureAdjust

    inputEV : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeSliderMax = 10;
    CIAttributeSliderMin = "-10";
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIExposureAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:1] forKey:@"inputEV"];

    ==============================================================

    [False Color] CIFalseColor

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 0.9 0.8 1)";
    CIAttributeType = CIAttributeTypeColor;
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0.3 0 0 1)";
    CIAttributeType = CIAttributeTypeColor;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Gamma Adjust] CIGammaAdjust

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputPower : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeIdentity = 1;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 4;
    CIAttributeSliderMin = "0.25";
    CIAttributeType = CIAttributeTypeScalar;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIGammaAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputPower"];

    ==============================================================

    [Gaussian Gradient] CIGaussianGradient

    inputRadius : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 300;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 800;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeDistance;
    }

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0 0 0 0)";
    }

    inputCenter : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[150 150]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIGaussianGradient"]; 

    [filter setValue:[NSNumber numberWithFloat:200] forKey:@"inputRadius"];

    [filter setValue:[CIColor colorWithCGColor:[UIColor grayColor].CGColor ]forKey:@"inputColor1"];

    ==============================================================

    [Hard Light Blend Mode] CIHardLightBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Highlights and Shadows] CIHighlightShadowAdjust

    inputHighlightAmount : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeIdentity = 1;
    CIAttributeMax = 1;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = "0.3";
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputShadowAmount : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeMax = 1;
    CIAttributeMin = "-1";
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = "-1";
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIHighlightShadowAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:0.5] forKey:@"inputShadowAmount"];

    CIFilter *filter = [CIFilter filterWithName:@"CIHighlightShadowAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:-0.5] forKey:@"inputShadowAmount"];

    ==============================================================

    [Hue Adjust] CIHueAdjust

    inputAngle : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeSliderMax = "3.141592653589793";
    CIAttributeSliderMin = "-3.141592653589793";
    CIAttributeType = CIAttributeTypeAngle;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIHueAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:1.5] forKey:@"inputAngle"];

    ==============================================================

    [Lighten Blend Mode] CILightenBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Linear Gradient] CILinearGradient

    inputPoint1 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[200 200]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputPoint0 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 0]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0 0 0 1)";
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    }

    ==============================================================

    [Luminosity Blend Mode] CILuminosityBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Maximum] CIMaximumCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Minimum] CIMinimumCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Multiply Blend Mode] CIMultiplyBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Multiply] CIMultiplyCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Overlay Blend Mode] CIOverlayBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Radial Gradient] CIRadialGradient

    inputRadius0 : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 5;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 800;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeDistance;
    }

    inputRadius1 : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 100;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 800;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeDistance;
    }

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0 0 0 1)";
    }

    inputCenter : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[150 150]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    }

    [Saturation Blend Mode] CISaturationBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Screen Blend Mode] CIScreenBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Sepia Tone] CISepiaTone

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputIntensity : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeIdentity = 0;
    CIAttributeMax = 1;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeScalar;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:0.8] forKey:@"inputIntensity"];

    ==============================================================

    [Soft Light Blend Mode] CISoftLightBlendMode

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Source Atop] CISourceAtopCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Source In] CISourceInCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Source Out] CISourceOutCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    [Source Over] CISourceOverCompositing

    inputBackgroundImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    ==============================================================

    [Straighten] CIStraightenFilter

    inputAngle : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeSliderMax = "3.141592653589793";
    CIAttributeSliderMin = "-3.141592653589793";
    CIAttributeType = CIAttributeTypeAngle;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIStraightenFilter"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:1.4] forKey:@"inputAngle"];

    ==============================================================

    [Stripes Generator] CIStripesGenerator

    inputSharpness : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeMax = 1;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputColor1 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(0 0 0 1)";
    }

    inputCenter : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[150 150]";
    CIAttributeType = CIAttributeTypePosition;
    }

    inputWidth : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 80;
    CIAttributeSliderMax = 800;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeDistance;
    }

    inputColor0 : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    }

    ==============================================================

    [Temperature and Tint] CITemperatureAndTint ?

    inputTargetNeutral : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[6500 0]";
    CIAttributeIdentity = "[6500 0]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputNeutral : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[6500 0]";
    CIAttributeIdentity = "[6500 0]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    ==============================================================

    [Tone Curve] CIToneCurve

    inputPoint1 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0.25 0.25]";
    CIAttributeIdentity = "[0.25 0.25]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    inputPoint0 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0 0]";
    CIAttributeIdentity = "[0 0]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    inputPoint3 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0.75 0.75]";
    CIAttributeIdentity = "[0.75 0.75]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    inputPoint2 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[0.5 0.5]";
    CIAttributeIdentity = "[0.5 0.5]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputPoint4 : {
    CIAttributeClass = CIVector;
    CIAttributeDefault = "[1 1]";
    CIAttributeIdentity = "[1 1]";
    CIAttributeType = CIAttributeTypeOffset;
    }

    ==============================================================

    [Vibrance] CIVibrance

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputAmount : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeMax = 1;
    CIAttributeMin = "-1";
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = "-1";
    CIAttributeType = CIAttributeTypeScalar;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIVibrance"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[NSNumber numberWithFloat:1] forKey:@"inputAmount"];

    ==============================================================

    [Vignette] CIVignette

    inputRadius : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 1;
    CIAttributeMax = 2;
    CIAttributeMin = 0;
    CIAttributeSliderMax = 2;
    CIAttributeSliderMin = 0;
    CIAttributeType = CIAttributeTypeScalar;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    inputIntensity : {
    CIAttributeClass = NSNumber;
    CIAttributeDefault = 0;
    CIAttributeIdentity = 0;
    CIAttributeMax = 1;
    CIAttributeMin = "-1";
    CIAttributeSliderMax = 1;
    CIAttributeSliderMin = "-1";
    CIAttributeType = CIAttributeTypeScalar;
    }

    ==============================================================

    [White Point Adjust] CIWhitePointAdjust

    inputColor : {
    CIAttributeClass = CIColor;
    CIAttributeDefault = "(1 1 1 1)";
    CIAttributeIdentity = "(1 1 1 1)";
    CIAttributeType = CIAttributeTypeColor;
    }

    inputImage : {
    CIAttributeClass = CIImage;
    CIAttributeType = CIAttributeTypeImage;
    }

    CIFilter *filter = [CIFilter filterWithName:@"CIWhitePointAdjust"]; 

    [filter setValue:inputImage forKey:@"inputImage"];

    [filter setValue:[CIColor colorWithCGColor:[UIColor yellowColor].CGColor ]forKey:@"inputColor"];

  • 相关阅读:
    TreeMap<K,V>类
    2020-3-7学习地图
    Thread类
    Redis-Windows中注册Redis后台守护进程
    Redsi-(error) NOAUTH Authentication required.
    2020-3-6学习地图
    Collection<E>接口
    Map<K,V>接口
    Set接口
    List类
  • 原文地址:https://www.cnblogs.com/AbelChen1991/p/3789217.html
Copyright © 2011-2022 走看看