Библиотека с открытым исходным кодом для редактирования изображений iOS - или просто несколько советов

Для приложения для ios, которое я пишу, я хотел бы взять фотографию из библиотеки фотографий, а затем позволить пользователю «очистить ее», фактически удалив те части, которые не нужны. Например, предположим, что пользователь выбирает фотографию человека, моему приложению нужна только голова, а все остальное должно быть удалено, поэтому пользователю нужно очистить фотографию, удалив фон, тело или других лиц на фотографии. Представьте себе фотошоп, но с одним инструментом - ластиком.

Я ищу библиотеки с открытым исходным кодом, или примеры, или просто советы о том, как с этим начать.

Я знаю, как использовать UIImagePickerController для выбора изображения, поэтому недостающая часть является фактическим редактированием. Как полный новичок, я был бы счастлив получить несколько советов о том, что было бы разумным подходом к этому, желательно с некоторым образцом кода или даже с многоразовой библиотекой.

Полагаю, что на высоком уровне я хочу начать с прямоугольного изображения и убедиться, что у него есть альфа-слой, а затем, когда пользователь касается частей изображения, чтобы удалить их, мне нужно «удалить» больше пикселей из изображения, изменив их альфа-уровень на 0. Но это слишком высокоуровневое описание, в котором я даже не уверен ... Еще одно разумное требование - поддержка отмены.

Другой подход, который приходит на ум, заключается в использовании исходного изображения и изображения маски, которые пользователь редактирует, касаясь экрана, а когда «готово», каким-то образом компилирует два изображения в одно изображение с альфа-каналом. Конечно, это деталь реализации, и пользователю не нужно знать, что на экране два изображения.

Если возможно, я хотел бы остаться на уровнях UIImage, UIImageView или Core Graphics и не связываться с OpenGL ES. Мне кажется, что графические уровни более высокого уровня должны быть достаточно производительными и простыми для понимания, необходимо учитывать поддерживаемый чистый код ...

Любой совет приветствуется, спасибо!

5
задан Ran 22 June 2011 в 07:06
поделиться