CIColorInvert和CIColorMatrix不能正确反转图像

时间:2016-04-02 21:29:46

标签: ios iphone swift ipad ciimage

我坚持反转CIImage颜色。我正在从CGImage创建CIImage,然后应用CIColorInvert过滤器或CIColorMatrix过滤器,但它们都没有正常工作。当将CIImage渲染为CGImage时,我获得的结果似乎已经饱和(参见附带的示例)。

exmples of color invert using different approaches

我猜问题是颜色空间,但我不知道如何解决它。我正在关注核心图像编程指南(章节:子类化CIFilter:自定义效果的配方,部分:子类化CIFilter以创建CIColorInvert过滤器)但没有任何成功。

我会非常感谢任何提示......

1 个答案:

答案 0 :(得分:2)

问题在于工作色彩空间。我找到了问题here的答案。我创建的CIContext现在看起来如下:

var ciContext = CIContext(options: [kCIImageColorSpace: NSNull(), kCIImageProperties: NSNull(), kCIContextWorkingColorSpace: NSNull()])

老实说,我并不确切知道背景,所以我不确定,为什么没有将WorkingColorSpace设置为NSNull就无法工作。如果有人知道,我会非常感谢您的解释。