如何禁用 CoreImage 中的颜色管理

4 objective-c core-image ios cifilter swift

我想禁用颜色管理,如 Apple 最佳性能指南中所述:

它说我必须将kCIImageColorSpace. 因为cifilter?.setValue("null", forKey: kCIImageColorSpace)没有给我任何结果(应用程序崩溃)。

我阅读了文档:

它说我必须将NSNull对象指定为值。然而cifilter?.setValue(NSNull(), forKey kCIImageColorSpace)也导致了崩溃:

类不符合 CIImageColorSpace 键的键值编码

执行此操作的正确命令是什么?

l-l*_*l-l 5

您需要在创建 CIContext 时设置颜色空间,而不是 CIFilter。这就是我正在做的:

[CIContext contextWithOptions:@{kCIContextWorkingColorSpace : [NSNull null]}];
Run Code Online (Sandbox Code Playgroud)

您应该点击他们在建议末尾发布的链接: 使用核心图像上下文构建您自己的工作流程