2016-04-02 17 views
0

我被卡在反轉CIImage顏色。我從CGImage創建CIImage,然後應用CIColorInvert濾鏡或CIColorMatrix濾鏡,但是它們都不能正常工作。當將CIImage渲染爲CGImage時,我會得到結果,這似乎是飽和的(參見附件示例)。CIColorInvert和CIColorMatrix不能正確反轉圖像

exmples of color invert using different approaches

我想這個問題是色彩空間,但我不知道如何解決它。我正在關注Core Image Programming Guide(章節:繼承CIFilter:自定義效果的配方,部分:繼承CIFilter以創建CIColorInvert過濾器),但沒有取得任何成功。

我會非常感謝任何提示...

+0

你有什麼inputbiasvector設置爲? – Roecrew

+0

輸入偏差向量如下:'invertFilter?.setValue(CIVector(x:1.0,y:1.0,z:1.0,w:0),forKey:「inputBiasVector」)'。非常感謝您的關注,不要誤解我的意思,但我剛剛找到解決方案。我沒有做這件事,你提醒我這個問題,所以我試圖深入瞭解它。我將在這個問題上提供解答。 –

回答

1

問題是在工作色彩空間。我找到了我的問題here的答案。我現在創建看起來follwing的CIContext:

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

說實話,我不知道到底的背景,所以我不知道,爲什麼它不沒有設置WorkingColorSpace到NSNull工作。如果有人知道,我會非常感謝解釋。