gpt4 book ai didi

iphone - CIFilters 值

转载 作者:行者123 更新时间:2023-12-01 19:07:20 27 4
gpt4 key购买 nike

是否有显示所有 CIFilter 及其各自值范围的作弊列表?

苹果怎么能逃脱写doc like this列出所有过滤器而不告诉我们可能的范围?

来吧苹果。

最佳答案

我已经对其进行了更新,以使其能够正常工作,以适应我试图向您展示的内容。我忘记了属性是每个过滤器的,每个输入键都是属性字典中一个键的名称。这些值本身就是包含我们想要的信息的字典。

但是请注意,这并不能完成所有工作。如果您想了解更多信息并自己做一些工作,您将不得不查找一些内容。这样做是遍历所有过滤器的所有参数并打印出它们的名称、最小值和最大值,即使这没有意义。 (例如图像没有最小值或最大值 - 在这种情况下它会打印“(null)”。)请注意,许多参数没有最小值或最大值。它们可以覆盖整个浮点范围。如果您要制作 slider ,请使用 kCIAttributeSliderMinkCIAttributeSilderMax属性而不是 kCIAttributeMinkCIAttributeMax .

您还可以获取属性类型和类并打印出其他类型值的范围(如果有意义的话)。例如,一些参数是点、矩形等。

// Insert code here to initialize your application
// Get the list of all filters
NSArray* allFilters = [CIFilter filterNamesInCategories:nil];

// Iterate over the filters
NSEnumerator* filterEnum = [allFilters objectEnumerator];
NSString* nextFilter = nil;
while ((nextFilter = [filterEnum nextObject]) != nil)
{
NSLog (@"filter = %@", nextFilter);
// Get all of the input parameters to this filter
CIFilter *filter = [CIFilter filterWithName:nextFilter]; // 3
NSDictionary* attribs = [filter attributes];
NSArray* inputs = [filter inputKeys];

// Iterate over the input keys
NSEnumerator* inputEnum = [inputs objectEnumerator];
NSString* nextInput = nil;
while ((nextInput = [inputEnum nextObject]) != nil)
{
// Note that you'll have to do some work here because some
// parameters return vectors instead of just numbers, but
// this is the general idea
NSDictionary* paramAttrib = [attribs objectForKey:nextInput];
NSString* name = [paramAttrib objectForKey:kCIAttributeDisplayName];
NSNumber* min = [paramAttrib objectForKey:kCIAttributeMin];
NSNumber* max = [paramAttrib objectForKey:kCIAttributeMax];
NSLog (@"param: %@, min = %@, max = %@", name, min, max);
}
}

另外,我很认真地在文档上提交错误。如果您不提交错误,他们当然不会更改它们。我已经提交了有关文档的错误,并且它们已得到修复。

关于iphone - CIFilters 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18864140/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com