Я застрял на инвертировании цветов CIImage. Я создаю CIImage из CGImage, а затем применяю фильтр CIColorInvert или фильтр CIColorMatrix, но ни один из них не работает должным образом. При рендеринге CIImage как CGImage я получаю результаты, которые кажутся насыщенными (см. прикрепленный пример).
примеры инвертирования цвета с использованием различных подходов
Я предполагаю, что проблема в цветовом пространстве, но я понятия не имею, как это исправить. Я следовал руководству по программированию основного изображения (глава: Подкласс CIFilter: рецепты для пользовательских эффектов, раздел: Подкласс CIFilter для создания фильтра CIColorInvert), но безуспешно.
Буду очень благодарен за любые подсказки...
invertFilter?.setValue(CIVector(x: 1.0, y: 1.0, z: 1.0, w: 0), forKey: "inputBiasVector")
. Большое спасибо за проявленный интерес и не поймите меня неправильно, но я только что нашел решение. Я не работал над этим, и вы напомнили мне об этой проблеме, поэтому я пытался углубиться в нее. Я предоставлю решение по этому вопросу в ответ. - person marek.pivovarnik   schedule 17.04.2016