相关类有CIFilter 、CIFilterConstructor、CIFilterShape、CIRAWFilter
//文档地址(各种滤镜效果解释的很清楚):官方文档地址
//通过下面的方法获取滤镜数组
+ (NSArray<NSString *> *)filterNamesInCategory:(nullable NSString *)category;
+ (NSArray<NSString *> *)filterNamesInCategories:(nullable NSArray<NSString *> *)categories;
//通过下面的方法传入滤镜名字创建一个filter
+ (nullable CIFilter *) filterWithName:(NSString *) name;
+ (nullable CIFilter *)filterWithName:(NSString *)name
keysAndValues:key0, ... ;
+ (nullable CIFilter *)filterWithName:(NSString *)name
withInputParameters:(nullable NSDictionary<NSString *,id> *)params NS_AVAILABLE(10_10, 8_0);
// 传入一个滤镜名 返回 对该滤镜的本地化名称
+ (nullable NSString *)localizedNameForFilterName:(NSString *)filterName NS_AVAILABLE(10_4, 9_0);
// 传入滤镜类别 返回 该类别 本地化名称
+ (NSString *)localizedNameForCategory:(NSString *)category NS_AVAILABLE(10_4, 9_0);
// 传入一个滤镜名 返回 对该滤镜的描述
+ (nullable NSString *)localizedDescriptionForFilterName:(NSString *)filterName NS_AVAILABLE(10_4, 9_0);
// 返回滤镜的文档地址
+ (nullable NSURL *)localizedReferenceDocumentationForFilterName:(NSString *)filterName NS_AVAILABLE(10_4, 9_0);
用法如:
CIFilter *filter = [CIFilter filterWithName:@"CILanczosScaleTransform"];
[filter setValue:iimage forKey:kCIInputImageKey];
[filter setValue:[NSNumber numberWithFloat:0.3] forKey:kCIInputScaleKey];
CIImage *immmm = [filter valueForKey:kCIOutputImageKey];
[filter setDefaults];//恢复默认
-- NORMAL --