我不是ios开发人员,但我的客户希望我制作一个类似的iPhone应用程序 https://itunes.apple.com/us/app/trippy-booth-amazing-filterswarps/id448037560?mt=8 我见过一些自定义库 https://github.com/BradLarson/GPUImage 但没有找到任何相机镜头定制的例子。 任何建议都会有所帮助
提前致谢
答案 0 :(得分:0)
你可以通过一些用OpenGL编写的自定义着色器(或者仅用于iOS的金属)来实现,然后你可以应用你的着色器做一些有趣的东西,比如上面链接中的图像。
我建议你看看如何在iOS中使用OpenGL框架。 基本上流程会: 使用任何框架来捕获(甚至是实时)图像。 使用一些框架来修改图像。 (魔术发生在这里) 使用其他东西来呈现图像。
您应该学习如何获取OpenGL上下文,在其上绘制图像,编写自定义着色器,应用着色器,获取输出,以“扭曲图像”。对于真实的,最难的部分是如何通过使用公式描述它来在你的头脑中创造“效果”。
答案 1 :(得分:0)
这与photoshop网格扭曲(Edit-> Transform-> Warp)非常相似。基本上,您将图像视为纹理,然后将其渲染到网格(Bezier Patch),该网格是已经变形为贝塞尔曲线的网格,但是您将纹理坐标保留为网格。这具有将图像“拉”到贴片的节点的效果。您可以使用OpenGL(GL_PATCHES);我想金属或sceneKit可能也可以。
我无法从屏幕截图中看出,但您可能会引用的示例实际上是根据面部识别来放置网格。 CoreImage有basic facial recognition给青年人和眼睛位置,你可以用来控制网格中的一些节点。