高端网站开发培训,策划公司,软件开发app制作公司,盗用别人公司的产品图片做网站使用CoreImage教程 CoreImage包含有很多实用的滤镜,专业处理图片的库,为了能看到各种渲染效果,请使用如下图片素材. 现在可以开始教程了: #define FIX_IMAGE(image) fixImageWidth(image, 320.f)// 固定图片的宽度
UIImage * fixImageWidth(UIImage *image, CGFloat width)
{f… 使用CoreImage教程 CoreImage包含有很多实用的滤镜,专业处理图片的库,为了能看到各种渲染效果,请使用如下图片素材. 现在可以开始教程了: #define FIX_IMAGE(image) fixImageWidth(image, 320.f)// 固定图片的宽度
UIImage * fixImageWidth(UIImage *image, CGFloat width)
{float newHeight image.size.height * (width / image.size.width);CGSize size CGSizeMake(width, newHeight);UIGraphicsBeginImageContextWithOptions(size, NO, 0);CGContextRef context UIGraphicsGetCurrentContext();CGContextTranslateCTM(context, 0.0, size.height);CGContextScaleCTM(context, 1.0, -1.0);CGContextSetBlendMode(context, kCGBlendModeCopy);CGContextDrawImage(context, CGRectMake(0.0f, 0.0f, size.width, size.height),image.CGImage);UIImage *imageOut UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();return imageOut;
}代码片段 // 将UIImage转换成CIImageCIImage *ciImage [[CIImage alloc] initWithImage:[UIImage imageNamed:1.jpg]];// 创建滤镜CIFilter *filter [CIFilter filterWithName:CIPhotoEffectMonokeysAndValues:kCIInputImageKey, ciImage, nil];[filter setDefaults];// 获取绘制上下文CIContext *context [CIContext contextWithOptions:nil];// 渲染并输出CIImageCIImage *outputImage [filter outputImage];// 创建CGImage句柄CGImageRef cgImage [context createCGImage:outputImagefromRect:[outputImage extent]];// 获取图片UIImage *showImage [UIImage imageWithCGImage:cgImage];// 释放CGImage句柄CGImageRelease(cgImage);// 显示图片UIImageView *imageView \[[UIImageView alloc] initWithImage:FIX_IMAGE(showImage)];[self.view addSubview:imageView];代码片段 效果如下: 我们对操作进行简易的封装: 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.hinterface CIFilterEffect : NSObjectproperty (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.hinterface CIFilterEffect ()property (nonatomic, strong, readwrite) UIImage *result;endimplementation CIFilterEffect- (instancetype)initWithImage:(UIImage *)image filterName:(NSString *)name
{self [super init];if (self){// 将UIImage转换成CIImageCIImage *ciImage [[CIImage alloc] initWithImage:image];// 创建滤镜CIFilter *filter [CIFilter filterWithName:namekeysAndValues:kCIInputImageKey, ciImage, nil];[filter setDefaults];// 获取绘制上下文CIContext *context [CIContext contextWithOptions:nil];// 渲染并输出CIImageCIImage *outputImage [filter outputImage];// 创建CGImage句柄CGImageRef cgImage [context createCGImage:outputImagefromRect:[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 CIBoxBlurCIDiscBlurCIGaussianBlurCIMedianFilterCIMotionBlurCINoiseReductionCIZoomBlur CICategoryColorAdjustment CIColorClampCIColorControlsCIColorMatrixCIColorPolynomialCIExposureAdjustCIGammaAdjustCIHueAdjustCILinearToSRGBToneCurveCISRGBToneCurveToLinearCITemperatureAndTintCIToneCurveCIVibranceCIWhitePointAdjust CICategoryColorEffect(我们刚刚用到的一些效果在这里哦) CIColorCrossPolynomialCIColorCubeCIColorCubeWithColorSpaceCIColorInvertCIColorMapCIColorMonochromeCIColorPosterizeCIFalseColorCIMaskToAlphaCIMaximumComponentCIMinimumComponentCIPhotoEffectChromeCIPhotoEffectFadeCIPhotoEffectInstantCIPhotoEffectMonoCIPhotoEffectNoirCIPhotoEffectProcessCIPhotoEffectTonalCIPhotoEffectTransferCISepiaToneCIVignetteCIVignetteEffect CICategoryCompositeOperation CIAdditionCompositingCIColorBlendModeCIColorBurnBlendModeCIColorDodgeBlendModeCIDarkenBlendModeCIDifferenceBlendModeCIExclusionBlendModeCIHardLightBlendModeCIHueBlendModeCILightenBlendModeCILuminosityBlendModeCIMaximumCompositingCIMinimumCompositingCIMultiplyBlendModeCIMultiplyCompositingCIOverlayBlendModeCISaturationBlendModeCIScreenBlendModeCISoftLightBlendModeCISourceAtopCompositingCISourceInCompositingCISourceOutCompositingCISourceOverCompositing CICategoryDistortionEffect CIBumpDistortionCIBumpDistortionLinearCICircleSplashDistortionCICircularWrapCIDrosteCIDisplacementDistortionCIGlassDistortionCIGlassLozengeCIHoleDistortionCILightTunnelCIPinchDistortionCIStretchCropCITorusLensDistortionCITwirlDistortionCIVortexDistortion CICategoryGenerator CICheckerboardGeneratorCIConstantColorGeneratorCILenticularHaloGeneratorCIQRCodeGeneratorCIRandomGeneratorCIStarShineGeneratorCIStripesGeneratorCISunbeamsGenerator CICategoryGeometryAdjustment CIAffineTransformCICropCILanczosScaleTransformCIPerspectiveTransformCIPerspectiveTransformWithExtentCIStraightenFilter CICategoryGradient CIGaussianGradientCILinearGradientCIRadialGradientCISmoothLinearGradient CICategoryHalftoneEffect CICircularScreenCICMYKHalftoneCIDotScreenCIHatchedScreenCILineScreen CICategoryReduction CIAreaAverageCIAreaHistogramCIRowAverageCIColumnAverageCIHistogramDisplayFilterCIAreaMaximumCIAreaMinimumCIAreaMaximumAlphaCIAreaMinimumAlpha CICategorySharpen CISharpenLuminanceCIUnsharpMask CICategoryStylize CIBlendWithAlphaMaskCIBlendWithMaskCIBloomCIComicEffectCIConvolution3X3CIConvolution5X5CIConvolution7X7CIConvolution9HorizontalCIConvolution9VerticalCICrystallizeCIDepthOfFieldCIEdgesCIEdgeWorkCIGloomCIHeightFieldFromMaskCIHexagonalPixellateCIHighlightShadowAdjustCILineOverlayCIPixellateCIPointillizeCIShadedMaterialCISpotColorCISpotLight CICategoryTileEffect CIAffineClampCIAffineTileCIEightfoldReflectedTileCIFourfoldReflectedTileCIFourfoldRotatedTileCIFourfoldTranslatedTileCIGlideReflectedTileCIKaleidoscopeCIOpTileCIParallelogramTileCIPerspectiveTileCISixfoldReflectedTileCISixfoldRotatedTileCITriangleKaleidoscopeCITriangleTileCITwelvefoldReflectedTile CICategoryTransition CIBarsSwipeTransitionCICopyMachineTransitionCIDisintegrateWithMaskTransitionCIDissolveTransitionCIFlashTransitionCIModTransitionCIPageCurlTransitionCIPageCurlWithShadowTransitionCIRippleTransitionCISwipeTransition