有关QuartzFilter类的知识吗?

时间:2011-08-28 08:17:10

标签: cocoa

This mailing-list thread表示Mac OS X SDK中有一个QuartzFilter类,可以用来操作Quartz过滤器。但是......据我所知,这个课程没有记录,我在谷歌找不到更多关于它的信息。

快速使用nm表明QuartzFilter.framework具有以下公开方法:

000000000001577a t +[QuartzFilter converterProperties:allObjects:images:imageBPC:imageRenderingIntent:]
0000000000015364 t +[QuartzFilter hostMatchingFilter:imageBPC:imageRenderingIntent:]
00000000000152a5 t +[QuartzFilter imageConverter:bpc:renderingIntent:]
0000000000015465 t +[QuartzFilter quartzFilterWithOutputIntents:]
00000000000155df t +[QuartzFilter quartzFilterWithProperties:]
0000000000015522 t +[QuartzFilter quartzFilterWithURL:]

但是,所有这些都创建了过滤器对象,你如何将它们应用于某些东西?

2 个答案:

答案 0 :(得分:2)

你是对的,这些类的记录非常糟糕。实际上,即使在标题中也几乎没有任何文档。

您不需要使用nm来查看API。使用文件>在Xcode中快速打开并在对话框中输入QuartzFilter。您可以打开QuartzFilter.hQuartzFilterManager.h

看起来您可以使用它来获取所有可用过滤器的数组:

[[QuartzFilterManager filterManager] filtersInDomains:nil];

获得过滤器后,您可以将其应用于CGContext -applyToContext:

您可以在ColorSync实用程序中创建过滤器,但是如何以编程方式创建过滤器是一个谜。我想如果您使用其URL实例化一个现有过滤器,那么您可以使用QuartzFilter的各种方法进行调查。

答案 1 :(得分:0)

QuartzFilters是documented here,但非常糟糕。如上所述,您可以在使用PDFKit(PDF文档)编写PDF时将它们应用于CGContext或字典。