我坚持反转CIImage颜色。我正在从CGImage创建CIImage,然后应用CIColorInvert过滤器或CIColorMatrix过滤器,但它们都没有正常工作。当将CIImage渲染为CGImage时,我获得的结果似乎已经饱和(参见附带的示例)。
exmples of color invert using different approaches
我猜问题是颜色空间,但我不知道如何解决它。我正在关注核心图像编程指南(章节:子类化CIFilter:自定义效果的配方,部分:子类化CIFilter以创建CIColorInvert过滤器)但没有任何成功。
我会非常感谢任何提示......
答案 0 :(得分:2)
问题在于工作色彩空间。我找到了问题here的答案。我创建的CIContext现在看起来如下:
var ciContext = CIContext(options: [kCIImageColorSpace: NSNull(), kCIImageProperties: NSNull(), kCIContextWorkingColorSpace: NSNull()])
老实说,我并不确切知道背景,所以我不确定,为什么没有将WorkingColorSpace设置为NSNull就无法工作。如果有人知道,我会非常感谢您的解释。