Iphone CIFilter过滤器名称:keysAndValues:从NSDictionary设置keysAndValues

Iphone CIFilter过滤器名称:keysAndValues:从NSDictionary设置keysAndValues,iphone,objective-c,ios,core-image,cifilter,Iphone,Objective C,Ios,Core Image,Cifilter,嗨,我正在尝试这样做: NSMutableDictionary *param1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"inputIntensity", [NSNumber numberWithFloat:0.8], nil]; [param1 setObject:file forKey:kCIInputImageKey]; CIFilter *filter = [CIFilter filterWithName:@"CISepi

嗨,我正在尝试这样做:

NSMutableDictionary *param1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
[param1 setObject:file forKey:kCIInputImageKey];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:param1];
 NSMutableDictionary *param = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat:0.8],@"inputIntensity",imageView.image,@"inputImage",nil]

 CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:@"inputImage",[param objectForKey:@"inputImage"],@"inputIntensity",[param objectForKey:@"inputIntensity",nil]];
显然,它不起作用,那么,如何从已经存在的字典中填充keysAndValues呢?
谢谢大家!

您应该使用最简单的构造方法(filterWithName:)并通过迭代现有字典的键来填写值。它只需要几行代码。

您可以像这样使用字典:

NSMutableDictionary *param1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"inputIntensity", [NSNumber numberWithFloat:0.8], nil];
[param1 setObject:file forKey:kCIInputImageKey];
CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:param1];
 NSMutableDictionary *param = [NSMutableDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithFloat:0.8],@"inputIntensity",imageView.image,@"inputImage",nil]

 CIFilter *filter = [CIFilter filterWithName:@"CISepiaTone" keysAndValues:@"inputImage",[param objectForKey:@"inputImage"],@"inputIntensity",[param objectForKey:@"inputIntensity",nil]];