This mailing-list thread指出,在Mac中有一个QuartzFilter类,可以用来操作石英过滤器。但是…据我所知,这个类是没有文档记录的,我在Google上也找不到更多关于它的信息。
快速使用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:]但是,所有这些都创建了filter对象,如何将它们应用于某些东西?
发布于 2011-08-29 10:16:31
您说得对,这些类的文档非常少。事实上,似乎根本没有文档,甚至在头文件中也是如此。
您不需要使用nm来查看接口。使用文件>在Xcode中快速打开,然后在对话框中键入QuartzFilter。您将能够打开QuartzFilter.h和QuartzFilterManager.h。
看起来您可以使用它来获取所有可用过滤器的数组:
[[QuartzFilterManager filterManager] filtersInDomains:nil];一旦你有了一个过滤器,你就可以用-applyToContext:将它应用于CGContext。
您可以在ColorSync实用程序中创建过滤器,但如何以编程方式创建一个过滤器是一个谜。我猜,如果您使用现有过滤器的URL实例化其中一个过滤器,那么您可以使用QuartzFilter的各种方法进行研究。
发布于 2018-02-13 20:52:58
QuartzFilters是documented here,但非常差。如上所述,当使用PDFKit (PDFDocument)编写CGContext时,您可以将它们应用于PDF或作为字典。
https://stackoverflow.com/questions/7219787
复制相似问题