2017-08-26 50 views
-4
let filter: CIFilter! 
filter = CIFilter(name: "Sepo") 
filter.setValue(image, forKey: kCIInputImageKey) 

关键在做什么?它是在命名我放入的图像还是什么?它有这样一个令人困惑的名字,它没有任何意义。CIFilter使用的密钥的目的是什么?

+0

我从来没有听说过一个名为“Sepo”的过滤器。 –

+0

@ElTomato棕褐色的男性形式 – matt

回答

0

从文档(source):

一种用于CIImage对象作为输入图像时使用的密钥。对于也使用背景图像的滤镜,此键指向前景图像。

1

过滤器的配置方式与填充字典时的方式相同 - 使用键和值。每个过滤器都有你可以交给它的参数;告诉它你正在交付的是什么参数,你提供了一个关键字以及参数的值。你的image是传入的图像,所以你必须告诉过滤器。所以你的代码说:“请接受这张图片并将它用作你的输入图片。”如果您不喜欢这个神秘的名字,请使用"inputImage"作为关键字。

+0

但密钥已经存在,即时只是选择特定的密钥.. wut ..解释请参阅 –

+0

每个过滤器都会告诉您它接受哪些密钥。但是大多数滤镜在图像上运行,所以大多数滤镜都有一些输入图像键。 – matt

相关问题