//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

  • CIBoxBlur
  • CIDiscBlur
  • CIGaussianBlur
  • CIMedianFilter
  • CIMotionBlur
  • CINoiseReduction
  • CIZoomBlur

CICategoryColorAdjustment

  • CIColorControls
  • CIColorMatrix
  • CIExposureAdjust
  • CIGammaAdjust
  • CIHueAdjust
  • CITemperatureAndTint
  • CIToneCurve
  • CIVibrance
  • CIWhitePointAdjust

CICategoryColorEffect

  • CIColorCube
  • CIColorInvert
  • CIColorMap
  • CIColorMonochrome
  • CIColorPosterize
  • CIFalseColor
  • CIMaskToAlpha
  • CIMaximumComponent
  • CIMinimumComponent
  • CISepiaTone

CICategoryCompositeOperation

  • CIAdditionCompositing
  • CIColorBlendMode
  • CIColorBurnBlendMode
  • CIColorDodgeBlendMode
  • CIDarkenBlendMode
  • CIDifferenceBlendMode
  • CIExclusionBlendMode
  • CIHardLightBlendMode
  • CIHueBlendMode
  • CILightenBlendMode
  • CILuminosityBlendMode
  • CIMaximumCompositing
  • CIMinimumCompositing
  • CIMultiplyBlendMode
  • CIMultiplyCompositing
  • CIOverlayBlendMode
  • CISaturationBlendMode
  • CIScreenBlendMode
  • CISoftLightBlendMode
  • CISourceAtopCompositing
  • CISourceInCompositing
  • CISourceOutCompositing
  • CISourceOverCompositing

CICategoryDistortionEffect

  • CIBumpDistortion
  • CIBumpDistortionLinear
  • CICircleSplashDistortion
  • CICircularWrap
  • CIDisplacementDistortion
  • CIGlassDistortion
  • CIGlassLozenge
  • CIHoleDistortion
  • CIPinchDistortion
  • CITorusLensDistortion
  • CITwirlDistortion
  • CIVortexDistortion

CICategoryGenerator

  • CICheckerboardGenerator
  • CIConstantColorGenerator
  • CILenticularHaloGenerator
  • CIRandomGenerator
  • CIStarShineGenerator
  • CIStripesGenerator
  • CISunbeamsGenerator

CICategoryGeometryAdjustment

  • CIAffineTransform
  • CICrop
  • CILanczosScaleTransform
  • CIPerspectiveTransform
  • CIStraightenFilter

CICategoryGradient

  • CIGaussianGradient
  • CILinearGradient
  • CIRadialGradient

CICategoryHalftoneEffect

  • CICircularScreen
  • CICMYKHalftone
  • CIDotScreen
  • CIHatchedScreen
  • CILineScreen

CICategoryReduction

  • CIAreaAverage
  • CIAreaHistogram
  • CIRowAverage
  • CIColumnAverage
  • CIAreaMaximum
  • CIAreaMinimum
  • CIAreaMaximumAlpha
  • CIAreaMinimumAlpha

CICategorySharpen

  • CISharpenLuminance
  • CIUnsharpMask

CICategoryStylize

  • CIBlendWithMask
  • CIBloom
  • CIComicEffect
  • CICrystallize
  • CIEdges
  • CIEdgeWork
  • CIGloom
  • CIHeightFieldFromMask
  • CIHexagonalPixellate
  • CIHighlightShadowAdjust
  • CILineOverlay
  • CIPixellate
  • CIPointillize
  • CIShadedMaterial
  • CISpotColor
  • CISpotLight

CICategoryTileEffect

  • CIAffineClamp
  • CIAffineTile
  • CIEightfoldReflectedTile
  • CIFourfoldReflectedTile
  • CIFourfoldRotatedTile
  • CIFourfoldTranslatedTile
  • CIGlideReflectedTile
  • CIKaleidoscope
  • CIOpTile
  • CIParallelogramTile
  • CIPerspectiveTile
  • CISixfoldReflectedTile
  • CISixfoldRotatedTile
  • CITriangleTile
  • CITwelvefoldReflectedTile

CICategoryTransition

  • CIBarsSwipeTransition
  • CICopyMachineTransition
  • CIDisintegrateWithMaskTransition
  • CIDissolveTransition
  • CIFlashTransition
  • CIModTransition
  • CIPageCurlTransition
  • CIRippleTransition
  • CISwipeTransition

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

[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 中的原始图像。

注意:三个vector的rgb值纵向相加=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"];

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

CIFilter的种类相关推荐

  1. K-近邻算法之案例:鸢尾花种类预测—流程实现

    K-近邻算法之案例:鸢尾花种类预测-流程实现 1 再识K-近邻算法API sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm= ...

  2. K-近邻算法之案例:鸢尾花种类预测--数据集介绍

    K-近邻算法之案例:鸢尾花种类预测--数据集介绍 本实验介绍了使用Python进行机器学习的一些基本概念. 在本案例中,将使用K-Nearest Neighbor(KNN)算法对鸢尾花的种类进行分类, ...

  3. 爬虫之常见的验证码的种类

    爬虫之常见的验证码的种类 1.1 url地址不变,验证码不变 这是验证码里面非常简单的一种类型,对应的只需要获取验证码的地址,然后请求,通过打码平台识别即可 1.2 url地址不变,验证码变化 这种验 ...

  4. 【OpenCV 4开发详解】图像噪声的种类与生成

    本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...

  5. Java锁的种类以及辨析(二):自旋锁的其他种类

    作者:山鸡 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) .这些已经写好提供的锁为我们开发提供了便利,但是锁的具 ...

  6. java 高级数据类型_【高级数据类型】- 2.通道的更多种类

    Go语言-通道的更多种类 我们在上一节所说的通道,实际上只是Go语言中的通道的一种.它被称为带缓冲的通道,或简称为缓冲通道. 通道有带缓冲和非缓冲之分.我们已经说过,缓冲通道中可以缓存N个数据.我们在 ...

  7. 哈钦森之问:动物的种类为何如此丰富?

    扉页寄语: 翻译本文是2019年5月立下的目标,断断续续一年半,终于完成.2019年5月17日,我们公众号翻译了一篇哈钦森先生的传记(高山仰止 | "现代生态学之父"-乔治·伊夫林 ...

  8. R语言dataframe获取每个字段(特征)的数据类型实战:使用sapply函数获取每个字段(特征)的数据类型、通过柱状图可视化特征的种类以及个数

    R语言dataframe获取每个字段(特征)的数据类型实战:使用sapply函数获取每个字段(特征)的数据类型.通过柱状图可视化特征的种类以及个数 目录

  9. 数据库索引的工作原理及其种类

    数据库索引的工作原理及其种类 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询.更新数据库表中数据.索引的实现通常使用B树及其变种B+树. 在数据之外,数据库系统还维护着满足特定查找算 ...

最新文章

  1. python是如何实现进程池和线程池的_高并发:线程、线程锁与线程池(精华),手写代码实现线程池...
  2. git 版本操作命令大全
  3. 远程恢复服务器,Hyper-V主机启用“远程桌面”功能
  4. scala中的算术符重载代码详细解释
  5. 论文浅尝 | 一个模型解决所有问题:实体和事件的神经联合模型
  6. 【福利】3980元的web前端视频教程限量领取!!!
  7. 信息学奥赛一本通(1042:奇偶ASCII值判断)
  8. SAP License:CO生产订单
  9. 如何在GitHub中上传图片-----简单易行,步骤超清晰
  10. Aspose.Cells生成Excel图表
  11. android pgis地图,PGIS(警用地图)建设方案详细.doc
  12. 【Tomcat优化篇】如何让你的Tomcat性能更加优越
  13. 华为手机安装debug时出现无效安装和与操作系统不兼容问题解决
  14. GTX高速收发器Transceiver概述与收发共同特征(UG476)
  15. html 强制用ie浏览,强制指定IE浏览器版本
  16. 【已解】英雄联盟lol撸啊撸“寻找对局”按钮无法点击,开不了赛解决方法
  17. python撩妹技能_干货必看 | 手把手教你用Python撩妹
  18. 产品经理入门:二、一个需求的奋斗史
  19. 微信封面怎么设置?微信主页面的背景怎么设置
  20. draco安装与测试

热门文章

  1. FileMaker Pro 19 Advanced for mac(数据库工具)
  2. java游戏小乔赤壁_《赤壁》玩家原创手绘 小乔柔美万千
  3. 【OpenCv】图像的轮廓查找
  4. sql中不四舍五入直接保留两位小数
  5. 用iPad使用虚拟机的方式,不用越狱,不用安装软件,不用企业签名和开发者账户
  6. 基于android的快递管理系统app
  7. 这才是正确清理手机内存的方法,一起来看看
  8. Java解决生成二维码后图片蒙上红色背景问题
  9. Java 第三方登录(微信 QQ)
  10. Winfrom快速开发框架合集整理