CIFilter滤镜
来源:互联网 发布:男大学生必备鞋子知乎 编辑:程序博客网 时间:2024/05/16 00:58
对图片进行处理的简易的API-CIFilter
- CIFilterCategory
图片处理方式,在CIFiler中是如何对这么多的图片处理方式进行归类的呢?苹果采用的是Category的形式。比如图片亮度、对比度、饱和度等颜色处理都属于CICategoryColorAdjustment,图片模糊处理对应CICategoryBlur,图片锐化则对应CICategorySharpen。 - CIFilterName
在图片处理中,除了大的种类划分之外,每一种类还有对应的不同处理方式,比如CICategoryBlur可以分为CIBoxblur、CIDiscblur、 CIGaussianBlur、CIMotionBlur、CIZoomBlur等。 - attributes
要想对图片进行某一种处理,必须要调节对应属性的属性值,对于CIFilter来讲也就是filter对象的attributes。每一个CIFiler对象都包含attributes属性,并且其中相应的值在一定的区间内是可变动的,以此来作为图片对应属性处理的参数。 - inputImage && outputImage
使用CIFilter对图片进行处理,CIFliter对象相当于设置了一系列参数的过滤器,将原始图片输入,输出使用相应参数处理后的图片。
常见的CIFilterName:
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 //白平衡调节
官方文档中列表:
图片处理方式CIFilterCategory与各个方式下对应的CIFilterName
- CICategoryBlur
CIBoxBlurCIDiscBlurCIGaussianBlurCIMedianFilterCIMotionBlurCINoiseReductionCIZoomBlur
- CICategoryColorAdjustment
CIColorControlsCIColorMatrixCIExposureAdjustCIGammaAdjustCIHueAdjustCITemperatureAndTintCIToneCurveCIVibranceCIWhitePointAdjust
- CICategoryColorEffect
CIColorCubeCIColorInvertCIColorMapCIColorMonochromeCIColorPosterizeCIFalseColorCIMaskToAlphaCIMaximumComponentCIMinimumComponentCISepiaTone
- CICategoryCompositeOperation
CIAdditionCompositingCIColorBlendModeCIColorBurnBlendModeCIColorDodgeBlendModeCIDarkenBlendModeCIDifferenceBlendModeCIExclusionBlendModeCIHardLightBlendModeCIHueBlendModeCILightenBlendModeCILuminosityBlendModeCIMaximumCompositingCIMinimumCompositingCIMultiplyBlendModeCIMultiplyCompositingCIOverlayBlendModeCISaturationBlendModeCIScreenBlendModeCISoftLightBlendModeCISourceAtopCompositingCISourceInCompositingCISourceOutCompositingCISourceOverCompositing
- CICategoryDistortionEffect
CIBumpDistortionCIBumpDistortionLinearCICircleSplashDistortionCICircularWrapCIDisplacementDistortionCIGlassDistortionCIGlassLozengeCIHoleDistortionCIPinchDistortionCITorusLensDistortionCITwirlDistortionCIVortexDistortion
- CICategoryGenerator
CICheckerboardGeneratorCIConstantColorGeneratorCILenticularHaloGeneratorCIRandomGeneratorCIStarShineGeneratorCIStripesGeneratorCISunbeamsGenerator
- CICategoryGeometryAdjustment
CIAffineTransformCICropCILanczosScaleTransformCIPerspectiveTransformCIStraightenFilter
- CICategoryGradient
CIGaussianGradientCILinearGradientCIRadialGradient
- CICategoryHalftoneEffect
CICircularScreenCICMYKHalftoneCIDotScreenCIHatchedScreenCILineScreen
- CICategoryReduction
CIAreaAverageCIAreaHistogramCIRowAverageCIColumnAverageCIAreaMaximumCIAreaMinimumCIAreaMaximumAlphaCIAreaMinimumAlpha
- CICategorySharpen
CISharpenLuminanceCIUnsharpMask
- CICategoryStylize
CIBlendWithMaskCIBloomCIComicEffectCICrystallizeCIEdgesCIEdgeWorkCIGloomCIHeightFieldFromMaskCIHexagonalPixellateCIHighlightShadowAdjustCILineOverlayCIPixellateCIPointillizeCIShadedMaterialCISpotColorCISpotLight
- CICategoryTileEffect
CIAffineClampCIAffineTileCIEightfoldReflectedTileCIFourfoldReflectedTileCIFourfoldRotatedTileCIFourfoldTranslatedTileCIGlideReflectedTileCIKaleidoscopeCIOpTileCIParallelogramTileCIPerspectiveTileCISixfoldReflectedTileCISixfoldRotatedTileCITriangleTileCITwelvefoldReflectedTile
- CICategoryTransition
CIBarsSwipeTransitionCICopyMachineTransitionCIDisintegrateWithMaskTransitionCIDissolveTransitionCIFlashTransitionCIModTransitionCIPageCurlTransitionCIRippleTransition
CIFilterName与各个attributions:
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 = ;}
==============================================================
[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滤镜
- CIFilter滤镜解析:CIRadialGradient滤镜
- CIFilter 的多种滤镜效果
- 用CIFilter滤镜效果创建二维码
- CIFilter
- 滤镜CIFilter简单处理(模糊效果,旧色调处理)
- 怎么用CIFilter给图片加上各种各样的滤镜_1
- 怎么用CIFilter给图片加上各种各样的滤镜_2
- iOS 使用自带的CIFilter完成滤镜效果
- ios 将url通过CIFilter滤镜生成条形码和二维码
- 使用CIFilter 为照片添加各种滤镜效果
- 直播预览层添加滤镜效果(CIFilter使用场景)
- [iOS 原生代码实现 二维码的生成与读取(转)]通过滤镜CIFilter生成二维码
- 滤镜
- 滤镜
- 滤镜
- 滤镜
- 滤镜
- jQuery源码分析系列
- Samurai框架分析--未完待续
- JAVA--基本数据类型
- hjr教程-JSP(一):一个jsp页面的建立
- 成都天瑞地安:学java开发的一些重要知识
- CIFilter滤镜
- oracle sql语言模糊查询--通配符like的使用教程
- Android 自定义View 9Path图片绘制
- 新的一年,加油
- oj2281寻找子串个数
- The declared package does not match the expected package
- 贪心:商人小鑫
- Ubuntu14.04下安装Matlab R2014a过程记录
- python错误