Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ios中定制相机镜头效果_Ios_Camera_Effect - Fatal编程技术网

如何在ios中定制相机镜头效果

如何在ios中定制相机镜头效果,ios,camera,effect,Ios,Camera,Effect,我不是一名ios开发者,但我的客户希望我制作一款类似iphone的应用程序 我见过一些像这样的自定义库 但没有找到任何相机镜头定制示例。 任何建议都会有帮助 提前感谢您可以通过一些用OpenGL编写的自定义着色器(或仅用于iOS的metal)来实现,然后您可以应用着色器来完成有趣的事情,如上面链接中的图像 我建议您看看如何在iOS中使用OpenGL框架。 基本上,流程如下所示: 使用任何框架来捕获(甚至是实时)图像。 使用一些框架来修改图像。(魔法就在这里发生) 使用其他材料来呈现图像 您应该学

我不是一名ios开发者,但我的客户希望我制作一款类似iphone的应用程序 我见过一些像这样的自定义库 但没有找到任何相机镜头定制示例。 任何建议都会有帮助


提前感谢

您可以通过一些用OpenGL编写的自定义着色器(或仅用于iOS的metal)来实现,然后您可以应用着色器来完成有趣的事情,如上面链接中的图像

我建议您看看如何在iOS中使用OpenGL框架。 基本上,流程如下所示: 使用任何框架来捕获(甚至是实时)图像。 使用一些框架来修改图像。(魔法就在这里发生) 使用其他材料来呈现图像


您应该学习如何获取OpenGL上下文,在其上绘制图像,编写自定义着色器,应用着色器,获取输出,以“扭曲图像”。实际上,最难的部分是如何通过公式描述在你的脑海中产生“效果”。

这与photoshop网格扭曲(编辑->变换->扭曲)非常相似。基本上,您将图像视为纹理,然后将其渲染到网格(Bezier面片),该网格是一个扭曲为Bezier曲线的网格,但您将纹理坐标保留为仍然是网格。这具有将图像“拉”到面片节点的效果。您可以使用OpenGL(GL_补丁)进行此操作;我想金属或sceneKit也可以


我无法从屏幕截图中分辨出来,但您引用的示例可能实际上是基于面部识别放置网格。CoreImage必须提供年轻人和眼睛的位置,您可以使用这些位置来控制网格中的一些节点。

![示例效果]()将解决我的问题。我找到了一些相机过滤器,我正在寻找答案,Josh,请你给我一个循序渐进的教程或一些框架,我应该开始感谢你的建议,如果你只想应用一些简单的过滤和转换效果,使用CoreImage的CIFilter和CIDetector就可以很好地实现。但如果你想制作自己的效果,即使在CoreImage中,你仍然需要提供一个“内核”,基本上它是一个着色器。