轉自:http://www.cnblogs.com/YouXianMing/p/3719056.html
使用CoreImage教程

CoreImage包含有很多實用的濾鏡,專業處理圖片的庫,為了能看到各種渲染效果,請使用如下圖片素材.

現在可以開始教程了:

 代碼片段
 代碼片段
 代碼片段
 代碼片段
效果如下:

我們對操作進行簡易的封裝:
CIFilterEffect.h + CIFilterEffect.m

//// CIFilterEffect.h// CIFilter//// Created by YouXianMing on 14-5-9.// Copyright (c) 2014年 Y.X. All rights reserved.//#import <Foundation/Foundation.h>@interface CIFilterEffect : NSObject@PRoperty (nonatomic, strong, readonly) UIImage *result;- (instancetype)initWithImage:(UIImage *)image filterName:(NSString *)name;@end//// CIFilterEffect.m// CIFilter//// Created by YouXianMing on 14-5-9.// Copyright (c) 2014年 Y.X. All rights reserved.//#import "CIFilterEffect.h"@interface CIFilterEffect ()@property (nonatomic, strong, readwrite) UIImage *result;@end@implementation CIFilterEffect- (instancetype)initWithImage:(UIImage *)image filterName:(NSString *)name{ self = [super init]; if (self) { // 將UIImage轉換成CIImage CIImage *ciImage = [[CIImage alloc] initWithImage:image]; // 創建濾鏡 CIFilter *filter = [CIFilter filterWithName:name keysAndValues:kCIInputImageKey, ciImage, nil]; [filter setDefaults]; // 獲取繪制上下文 CIContext *context = [CIContext contextWithOptions:nil]; // 渲染并輸出CIImage CIImage *outputImage = [filter outputImage]; // 創建CGImage句柄 CGImageRef cgImage = [context createCGImage:outputImage fromRect:[outputImage extent]]; _result = [UIImage imageWithCGImage:cgImage]; // 釋放CGImage句柄 CGImageRelease(cgImage); } return self;}@end我們來開始嘗試其他的濾鏡效果,我們可以嘗試的至少有這些:
@"CILinearToSRGBToneCurve",@"CiphotoEffectChrome",@"CIPhotoEffectFade",@"CIPhotoEffectInstant",@"CIPhotoEffectMono",@"CIPhotoEffectNoir",@"CIPhotoEffectProcess",@"CIPhotoEffectTonal",@"CIPhotoEffectTransfer",@"CISRGBToneCurveToLinear",@"CIVignetteEffect",
下面是所有渲染出來的圖片,與上面提供的濾鏡名字一一對應:
以下效果是需要進行一些配置才能達到的效果,這個就不開源了,你懂得:).
福利:
Core Image Filter Reference
https://developer.apple.com/library/ios/documentation/graphicsimaging/reference/CoreImageFilterReference/Reference/reference.html
CICategoryBlur
CIBoxBlurCIDiscBlurCIGaussianBlurCIMedianFilterCIMotionBlurCINoiseReductionCIZoomBlurCICategoryColorAdjustment
CIColorClampCIColorControlsCIColorMatrixCIColorPolynomialCIExposureAdjustCIGammaAdjustCIHueAdjustCILinearToSRGBToneCurveCISRGBToneCurveToLinearCITemperatureAndTintCIToneCurveCIVibranceCIWhitePointAdjustCICategoryColorEffect(我們剛剛用到的一些效果在這里哦)
CIColorCrossPolynomialCIColorCubeCIColorCubeWithColorSpaceCIColorInvertCIColorMapCIColorMonochromeCIColorPosterizeCIFalseColorCIMaskToAlphaCIMaximumComponentCIMinimumComponentCIPhotoEffectChromeCIPhotoEffectFadeCIPhotoEffectInstantCIPhotoEffectMonoCIPhotoEffectNoirCIPhotoEffectProcessCIPhotoEffectTonalCIPhotoEffectTransferCISepiaToneCIVignetteCIVignetteEffectCICategoryCompositeOperation
CIAdditionCompositingCIColorBlendModeCIColorBurnBlendModeCIColorDodgeBlendModeCIDarkenBlendModeCIDifferenceBlendModeCIExclusionBlendModeCIHardLightBlendModeCIHueBlendModeCILightenBlendModeCILuminosityBlendModeCIMaximumCompositingCIMinimumCompositingCIMultiplyBlendModeCIMultiplyCompositingCIOverlayBlendModeCISaturationBlendModeCIScreenBlendModeCISoftLightBlendModeCISourceAtopCompositingCISourceInCompositingCISourceOutCompositingCISourceOverCompositingCICategoryDistortionEffect
CIBumpDistortionCIBumpDistortionLinearCICircleSplashDistortionCICircularWrapCIDrosteCIDisplacementDistortionCIGlassDistortionCIGlassLozengeCIHoleDistortionCILightTunnelCIPinchDistortionCIStretchCropCITorusLensDistortionCITwirlDistortionCIVortexDistortionCICategoryGenerator
CICheckerboardGeneratorCIConstantColorGeneratorCILenticularHaloGeneratorCIQRCodeGeneratorCIRandomGeneratorCIStarShineGeneratorCIStripesGeneratorCISunbeamsGeneratorCICategoryGeometryAdjustment
CIAffineTransformCICropCILanczosScaleTransformCIPerspectiveTransformCIPerspectiveTransformWithExtentCIStraightenFilterCICategoryGradient
CIGaussianGradientCILinearGradientCIRadialGradientCISmoothLinearGradientCICategoryHalftoneEffect
CICircularScreenCICMYKHalftoneCIDotScreenCIHatchedScreenCILineScreenCICategoryReduction
CIAreaAverageCIAreaHistogramCIRowAverageCIColumnAverageCIHistogramDisplayFilterCIAreaMaximumCIAreaMinimumCIAreaMaximumAlphaCIAreaMinimumAlphaCICategorySharpen
CISharpenLuminanceCIUnsharpMaskCICategoryStylize
CIBlendWithAlphaMaskCIBlendWithMaskCIBloomCIComicEffectCIConvolution3X3CIConvolution5X5CIConvolution7X7CIConvolution9HorizontalCIConvolution9VerticalCICrystallizeCIDepthOfFieldCIEdgesCIEdgeWorkCIGloomCIHeightFieldFromMaskCIHexagonalPixellateCIHighlightShadowAdjustCILineOverlayCIPixellateCIPointillizeCIShadedMaterialCISpotColorCISpotLightCICategoryTileEffect
CIAffineClampCIAffineTileCIEightfoldReflectedTileCIFourfoldReflectedTileCIFourfoldRotatedTileCIFourfoldTranslatedTileCIGlideReflectedTileCIKaleidoscopeCIOpTileCIParallelogramTileCIPerspectiveTileCISixfoldReflectedTileCISixfoldRotatedTileCITriangleKaleidoscopeCITriangleTileCITwelvefoldReflectedTileCICategoryTransition
CIBarsswipeTransitionCICopyMachineTransitionCIDisintegrateWithMaskTransitionCIDissolveTransitionCIFlashTransitionCIModTransitionCIPageCurlTransitionCIPageCurlWithShadowTransitionCIRippleTransitionCISwipeTransition標簽: iOS
新聞熱點
疑難解答