我有一个直的图像,我想以波浪般的方式变形。
原始图片:
straight texture http://img145.imageshack.us/img145/107/woodstraight.png
我希望它看起来像这样(除了动画):
bent texture http://img145.imageshack.us/img145/8496/woodbent.png
我还没有解决openGL的学习曲线,所以如果我能用Core Animation做到这一点就会很棒。
这可能吗?
答案 0 :(得分:0)
不幸的是,我认为这是OpenGL的工作。通过垂直切割图像并绘制具有不同垂直偏移的线段,您可以在Quartz中实现相同的效果......但我认为您无法获得足够好的性能来为其设置动画。 (至少,1px或2px宽切片)
您还可以使图像保持静止,并使用Quartz为可以创建波浪边缘的遮蔽路径设置动画。但这可能看起来不太自然。
据我所知,iPhone上的Core Animation也无法做到这一点。在Mac上它带有一些更高级的过滤器,但我想你可能会看到更多这样的东西,如果iPhone过滤器可以做到: - )
OpenGL确实有一个学习曲线,但这是你想要达到的效果:在OpenGL中创建一个平面矩形,沿着它的长度有几个顶点。将相机对准矩形,使其看起来平坦。然后,使用某种类型的sine()函数来动画来回定位顶点。
这种方法也用于实现涟漪效果,你可能会找到一个或两个例子。
抱歉带来坏消息:-)希望有所帮助!