Я работаю над приложением для редактирования фотографий для iOS. Пользователь должен иметь возможность не только применить CIFilter к изображению, что я успешно реализовал, но и удалить этот же CIFilter из своего образа, где я столкнулся с проблемами. Я искал в Интернете учебные пособия или ответы о том, как удалить CIFilter, такой как CISepiaTone, из изображения. Я не смог найти ничего полезного. Максимум, что я нашел, это расплывчатый ответ: «Если вы используете CIFilter, такой как CISepiaTone, вы можете по существу «удалить» его, вернув его значение обратно к исходному значению». Мне нужна помощь, чтобы реализовать эту идею в коде, чтобы удалить CIFilter. Любые ответы, предложения, код или комментарии очень ценятся!
Как удалить CIFilter, например CISepiaTone
comment
Попробуйте это stackoverflow.com/a/50140306/4124168
- person Leojin Bose   schedule 02.05.2018
Ответы (2)
Вам нужно заглянуть в NSUndoManager. Вы вызываете его, когда пользователь выполняет действие, которое вы хотели бы отменить. Он хранит стопку версий, поэтому вы можете вернуться к любому этапу, который вы хотите. Я уверен, что вы можете найти учебник или пример здесь, на SO.
person
Tim Quinn
schedule
10.08.2015
Подумайте о том, чтобы сохранить копию исходного изображения для нужной отмены. У меня есть реализация, которая позволяет пользователям выбирать между различными фильтрами с помощью ползунка. Когда ползунок находится в крайнем левом положении, я заменяю последнее отфильтрованное изображение исходным изображением.
person
user3408691
schedule
11.12.2018