Поэтому я сталкиваюсь с некоторыми проблемами, когда занимаюсь обрезкой изображения. Мне известно два возможных способа: UIGraphicsBeginImageContextWithOptions
в сочетании с методами drawAtPoint:blendMode:
и CGImageCreateWithImageInRect
. Они оба работают, но имеют некоторые серьезные недостатки: первый способ занимает много времени (в моем случае около 7 секунд) и памяти (я получаю предупреждение о памяти) (предположим, я обрезаю изображение, сделанное камерой iPhone); второй заканчивается повернутым изображением, так что вам нужно поставить код сгустка, чтобы победить такое поведение, которое я не хочу. Я хочу знать, как, например, работает встроенная функция редактирования в яблоке приложения «Фотографии», или вольер или любой другой редактор фотографий. Рассмотрим редактор apple (iOS 8), вы можете повернуть изображение, изменить прямоугольник обрезки, они также имеют размытие (!) Вне прямоугольника вырезания и т. Д., Но когда вы применяете обрезку, оно занимает максимум 8 мб памяти, и это происходит немедленно. Как они это делают?Как использовать Open GL ES для обрезки изображения?
Единственное, что у меня есть, это то, что они используют потенциал графического процессора (например, вольер). Итак, если мы объединим все эти вопросы в одном, как я могу использовать Open GL, чтобы сделать обрезку менее болезненной? Я никогда не работал с ним, поэтому любые ссылки, ссылки и источники приветствуются. Спасибо заранее.
OpenGL и его производные являются API-интерфейсами для рисования материалов, которые в конечном итоге отображаются на экране. Основная цель - использование рендеринга в реальном времени. Ваша задача - манипулирование изображениями общего назначения, что возможно с помощью OpenGL, но, как правило, намного проще выполнять с помощью специальных графических библиотек операций. – datenwolf
@ datenwolf Хорошо, не могли бы вы назвать некоторых из них, пожалуйста? – efimovdk