Как деформировать UIImage, используя Open GL или любой другой метод ...? - PullRequest
0 голосов
/ 09 января 2012

Я пытаюсь разработать приложение для iOS, чтобы деформировать любое изображение (UIImage) в выбранных местах.

Таким образом, для выполнения этой задачи, что должно быть самым правильным способом продвижения вперед, сейчас я провожу некоторые исследования по выполнению этого на OpenGL (честно говоря, любые хедз-апы на фреймворке тоже подойдут).

Итак, наконец, необходимо получить деформацию UIImage в некоторых заданных местах. (Если есть координаты x, y)

Ответы [ 2 ]

1 голос
/ 09 января 2012

Если вы достаточно знакомы (или готовы изучать) OpenGL, то вы можете сделать это:

  1. Создайте плоскую прямоугольную сетку точек, которая будет сеткой, которая будет отображаться с OpenGL.
  2. Примените изображение к сетке как текстуру.
  3. При искажении изображения в определенном месте вы можете просто решить, какие точки сетки будут затронуты искажением, и переместить их.

Вы можете выдвигать точки из центра или в направлении центра или сдвигать их все в одном направлении. Если искажение затрагивает большую область, то вы меняете множество точек (возможно, меняя их в центре больше, чем на краях зоны поражения).

0 голосов
/ 09 января 2012

Не уверен, что вы подразумеваете под «деформацией». Вы имеете в виду наклонить его в 3-х измерениях? Если это так, вы можете настроить CGAffineTransform для UIImageView, в котором вы его отображаете, чтобы получить этот эффект.

Если вы имеете в виду некоторую деформацию обработки изображений и используете iOS 5, вы можете использовать Core Image для этого.

...