如何使用Open GL或任何其他方法扭曲UIImage ......?

时间:2012-01-09 13:15:03

标签: objective-c ios opengl-es uiimage core-graphics

我正在尝试开发一个iOS应用,以便在选定的位置上使任何给定的图像(UIImage)变形。

所以要完成这项任务应该是最好的方法,现在我正在做一些关于在OpenGL上做这件事的研究(坦率地说,任何关于框架的人都会很好)。

所以最后要求是在某些给定位置上获取UIImage扭曲。 (如果有x,y坐标)

2 个答案:

答案 0 :(得分:1)

如果您对OpenGL足够熟悉(或愿意学习),那么您可以这样做:

  1. 创建一个扁平的矩形网格点作为将使用OpenGL显示的网格。
  2. 将图像作为纹理应用于网格。
  3. 当在特定位置扭曲图像时,您可以确定网格上的哪些点将受到失真的影响,并移动它们。
  4. 您可以将点从中心或向中心推出,或者将它们全部向同一方向移动。如果失真影响大面积,那么您可以更改许多点(可能会更改中心的点数比受影响区域边缘附近的点数更多)。

答案 1 :(得分:0)

不确定'warp'是什么意思。你的意思是在3维度上扭曲吗?如果是这样,您可以调整显示它的UIImageView的CGAffineTransform以获得该效果。

如果您的意思是某种图像处理变形,并且您使用的是iOS 5,则可以使用Core Image。