2009-06-22 21 views
0

我有一個直的圖像,我想以波形方式變形。可以在iPhone上完成這種類型的擺動圖像變形,而不使用openGL

原圖:

straight texture http://img145.imageshack.us/img145/107/woodstraight.png

,我希望它看起來像這樣(除了動畫):

bent texture http://img145.imageshack.us/img145/8496/woodbent.png

我還沒有解決的openGL的學習曲線,卻又如此如果我可以用Core Animation來做到這一點,那就太好了。

這可能嗎?

+0

嘿willc2 - 你需要執行一次變形,還是動畫? – 2009-06-22 02:20:53

+0

在一個動畫中,不斷運行,隨着擺動的幅度變化。還會有輪換。 – willc2 2009-06-22 02:48:22

回答

0

不幸的是,我認爲這是OpenGL的工作。通過垂直切割圖像並繪製具有不同垂直偏移的分段,您可以在Quartz中實現相同的效果......但我認爲您無法獲得足夠好的性能來爲其製作動畫。 (至少使用1px或2px寬的切片)

您也可以使圖像保持不動,並使用Quartz來創建可產生波浪邊緣的遮罩路徑。不過,這可能看起來不太自然。

據我所知,iPhone上的Core Animation也無法做到這一點。在Mac上它帶有一些更高級的過濾器,但是我認爲如果iPhone過濾器可以做到這一點,你可能會看到更多的東西.-)

OpenGL確實有一個相當的學習曲線,但這裏是什麼你需要做的是達到這個效果:在OpenGL中創建一個平面矩形,並且沿着它的長度有幾個頂點。將相機對準矩形,使其看起來平坦。然後,使用某種類型的sine()函數來適當地來回切換動畫。

這種方法也被用來實現波紋效果,你可能會找到一個或兩個例子。

抱歉帶來壞消息:-)希望有所幫助!

相關問題