2012-01-09 22 views
0

我想開發一個iOS應用程序,使任何給定的圖像(UIImage)在選定的位置變形。因此,要完成這項任務,應該是最直接的方式,現在我正在做一些關於OpenGL的研究(坦率地說,在框架上任何人都會很高興)。如何使用Open GL或其他方法扭曲UIImage ...?

因此,最後的要求是在某些給定的位置獲得UIImage變形。 (如果x,y座標在那裏)

回答

0

不確定'warp'是什麼意思。你的意思是三維傾斜嗎?如果是這樣,您可以調整顯示它的UIImageView的CGAffineTransform以獲得該效果。

如果您的意思是某種圖像處理扭曲,並且您使用的是iOS 5,則可以使用Core Image。

+0

好友,我已經嘗試過Core Image,MAC OS中的包裝庫仍然沒有移植到iOS上,所以我認爲它從那個位置死了.... !!! ( – user1002649 2012-01-10 04:44:43

+0

)如果您嘗試使用Core Image,請確保您的篩選器適用於您的平臺。您可以在Core Image的文檔中的所有篩選器描述的底部看到此信息。 – 2012-01-19 15:16:45

1

如果你足夠熟悉(或者願意學習)的OpenGL,那麼你可以這樣做:

  1. 創建點的扁平,矩形網格是將使用OpenGL顯示網格。
  2. 將圖像作爲紋理應用到網格。
  3. 當在特定位置扭曲圖像時,您可以決定網格上的哪些點將受到變形的影響,並移動它們。

您可以從中心或中心推出點,或者將它們全部向相同方向移動。如果失真影響大面積,則改變很多點(可能會改變中心的那些點多於受影響區域邊緣附近的點)。

+0

非常感謝答案夥伴,確實如此這是我打算在OpenGL中做的事情,因爲我是該領域的noob,如果對你來說不是一個大麻煩,那麼用一個小代碼開始就會幫助我很多。 !!! 再次感謝好友.... !!! – user1002649 2012-01-10 04:43:07

+0

@ user1002649你需要查找一些教程來加快OpenGL的速度,Nehe是開始的地方:http://nehe.gamedev。網/那麼你可以試試這裏:http://zach.in.tu-clausthal.de/projects/bonn/image_manip_ogl/index.html – JCooper 2012-01-10 16:56:16