记录自己下使用CoreImage实现图片的滤镜效果
不同效果都有其特定的名称,以下是我用到的一些滤镜名:
fileterName
{
CLDefaultEmptyFilter,
CISRGBToneCurveToLinear,
CIVignetteEffect,
CIPhotoEffectInstant,
CIPhotoEffectProcess,
CIPhotoEffectTransfer,
CISepiaTone,
CIPhotoEffectChrome,
CIPhotoEffectFade,
CILinearToSRGBToneCurve,
CIPhotoEffectTonal,
CIPhotoEffectNoir,
CIPhotoEffectMono,
CIColorInvert
}
要想实现滤镜效果,得借助CIFilter对象,
1.将UIImage对象转换成CIImage对象作为CIFilter的输入inputImage
CIImage *ciImage = [[CIImage alloc] initWithImage:image];
CIFilter *filter = [CIFilter filterWithName:filterName keysAndValues:kCIInputImageKey, ciImage, nil];
2.通过不同滤镜名输出不同的outputImage