2016-04-02 20 views
0

CIImage renklerini tersine çeviremedim. CGImage CIImage oluşturuyorum ve CIColorInvert filtre veya CIColorMatrix filtre appling ancak hiçbiri düzgün çalışmıyor. CGImage olarak CIImage oluştururken, doymuş gibi görünen sonuçları elde ederim (ekli örneğe bakınız).CIColorInvert ve CIColorMatrix, görüntüyü düzgün bir şekilde ters çevirmiyor

exmples of color invert using different approaches

Sorunun colorspace olduğunu tahmin ama bunu düzeltmek için nasıl hiçbir fikrim yok. Çekirdek Resim Programlama Kılavuzu'nu (bölüm: CIFilter Alt Sınıfları: Özel Efektler için Reçeteler, bölüm: CIColorInvert Filtresi Oluşturmak için CIFilter Alt Sınıflandırma) takip ediyordum ama herhangi bir başarıya ulaşmıyordum.

+0

Girdileriniz nasıl ayarlanır? – Roecrew

+0

Giriş bias vektörü şu şekildedir: 'invertFilter? .setValue (CIVector (x: 1.0, y: 1.0, z: 1.0, w: 0), forKey:" inputBiasVector ")'. İlginiz için çok teşekkür ederim ve yanlış anlamıyorum, ama çözüm buldum. Üzerinde çalışmadım ve bana bu sorunu hatırlattın, ben de ona derinden girmeye çalışıyorum. Bu soruya cevaben çözüm sunacağım. –

cevap

1

sorun

herhangi ipuçları için çok memnun olurum ... renk çalışma alanı oldu. Sorumu here cevabını buldum. Ben follwing olarak şimdi görünüyor oluşturur CIContext:

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

Dürüst olmak gerekirse, ben tam arka plan bilmiyorum, bu yüzden NSNull için WorkingColorSpace ayarlamadan çalışmıyor neden, emin değilim. Birisi biliyorsa, açıklama için gerçekten çok minnettar olurdum.