在 Interface Builder 中,我可以创建一堆内容过滤器。
如果我有 n 个过滤器,则结果计算为: f n o f n-1 o..of 1。现在我想创建几个堆栈并将它们组合成一个过滤器。
我怎样才能做到这一点 ?
在 Interface Builder 中,我可以创建一堆内容过滤器。
如果我有 n 个过滤器,则结果计算为: f n o f n-1 o..of 1。现在我想创建几个堆栈并将它们组合成一个过滤器。
我怎样才能做到这一点 ?
我以前没有做过一堆过滤器,但我想 IB 会创建一个过滤器的 NSArray。您应该能够创建一个包含不同过滤器堆栈的所有内容的数组,并将其安装为您的视图的过滤器堆栈。
我假设这是 Mac OS,而不是 iOS?(我认为 iOS 还不支持过滤器堆栈。)
解决方案是使用CIFilterGenerator 类。
CIFilterGenerator 类提供了通过将现有 CIFilter 对象链接在一起来创建复杂效果的方法来创建 CIFilter 对象。(过滤器链是指在CIFilterGenerator对象中连接的CIFilter对象。)复杂的效果可以封装为CIFilterGenerator对象并保存为文件,以便再次使用。过滤器生成器文件包含链接在一起的所有 CIFilter 对象的存档实例。
它可以作为 CIFilter 使用:
当调用 CIPlugIn 类提供的任何加载方法时,将加载复制到 /Library/Graphics/Image Units/ 的任何过滤器生成器文件。CIFilterGenerator 对象通过其文件名注册,或者如果存在,则通过您在其描述中提供的类属性注册。