Кварцевые 2D / OpenGLES геометрические искажения на изображениях (желательно с использованием CGImage) - PullRequest
4 голосов
/ 19 января 2009

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

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

Это не аффинное преобразование, так как линии больше не параллельны вокруг области искажения / и т.д.

Возможно ли использовать CGImage или мне нужно сделать это с помощью OpenGLES?

Спасибо

1 Ответ

1 голос
/ 20 января 2009

Фактически, запись DisplacementMapFilter в Flash 8 описывает общее преобразование карты смещения с учетом карты смещения, составленной из компонента пикселей (x, y), следующим образом:

dstPixel [x, y] = srcPixel [ x + ((компонент X (x, y) - 128) * scaleX) / 256, y + ((компонент Y (x, y) - 128) * scaleY) / 256 ]

...