Ответ 1
Хороший учебник по CoreImage здесь, показывающий, как применять фильтры и многое другое:
http://www.raywenderlich.com/5689/beginning-core-image-in-ios-5
ОБНОВЛЕНИЕ 1
Итак, после небольшого исследования я обнаружил, что Core Image для iOS по-прежнему неполна по сравнению с версией библиотеки OS X. Поэтому я много искал в googled, и я нахожу два решения, один из них более простой, а другой гораздо более широкий и сложный библиотеки.
-
Простое и короткое решение: https://github.com/esilverberg/ios-image-filters
-
Удивительная и эта ценность для редактирования, библиотека для обработки изображений и видео с помощью OpenGL, GPUImage от Брэда Ларсона. Это намного быстрее и эффективнее Core Image. Введение: http://www.sunsetlakesoftware.com/2012/02/12/introducing-gpuimage-framework. GitHub: GPUImage
Так, например, в нескольких строках я могу получить результат, который я хочу (где originalImage - это UIImage для применения эффекта):
GPUImageGaussianBlurFilter *blurFilter = [[GPUImageGaussianBlurFilter alloc] init];
blurFilter.blurSize = 2;
UIImage *blurImage = [blurFilter imageByFilteringImage:resizedImage];
ОБНОВЛЕНИЕ 2
После того, как Apple анонсировала iOS 7, некоторые разработчики обнаружили, что обходной путь сделал то же самое, что Apple сделала в приложениях по умолчанию для iOS, поскольку Apple не предоставляла API для этого. Простейшее и лучшее решение, на мой взгляд, является этим. Почему я думаю, что это лучше? Потому что, даже если какой-то вид за ним движется, размытие по-прежнему отлично работает с обновленным эффектом, поскольку мы ожидаем, что он будет работать. Однако имейте в виду, что это зависит от SDK iOS 7 для работы, и это может быть опасным, если Apple изменит UIToolbar.
ОБНОВЛЕНИЕ 3
Apple упомянула на WWDC 2013 (Session 226 - Реализация взаимодействия с пользовательским интерфейсом на iOS), они предоставили бы класс категорий в UIImage, называемый UIImage + ImageEffects (я искал его, и найден здесь, но он доступен в Портал разработчика - поиск UIImageEffects в окне поиска). С помощью этой категории вы можете применить размытие в статическом UIImage, используя несколько методов (светлые, темные, с определенным цветом и т.д.). Кроме того, вчера я увидел этот компонент и нашел его довольно интересным, так как вы можете применить эффект (на основе вышеупомянутой категории) в кадре.
ОБНОВЛЕНИЕ 4
Наконец, на iOS 8 Apple выпустила новые классы, которые легко могут сделать live blur. С помощью UIVisualEffect
и UIVisualEffectView
вы можете быстро добавить живое размытие в свои приложения. Вот хороший учебник от Райана Нистрома о том, как использовать эти классы (и в размытии в целом):