如何在android中实现Drag Distortion Image过滤器()

得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述如何在android中实现Drag Distortion Image过滤器?相关的知识,希望能为你提供帮助。
我正在研究自定义图像过滤器项目。我遇到了一个具有挑战性的任务,我应该在Funny face effect app中看到应用扭曲过滤器。我想开发Funny Face Effects中提供的前3个滤镜。
因此,为了实现这样的效果,我开始使用GPUImageView GPUImage,在此,它使用搜索条来扭曲来自中心的图像。我已经实现了Bulge失真。但有什么方法可以实现拖动过滤器,我可以通过拖动手势扭曲我的图像?
我们试图搜索除GPUImage之外的任何其他第三方类。但我们找不到有用的东西。
我们的查询如下: -
1)是否可以使用拖动手势应用拖动过滤器? (任何代码片段或参考可感知)
2)除GPU之外的任何其他第三方类可以帮助我们获得上述结果。
提前致谢!

如何在android中实现Drag Distortion Image过滤器()

文章图片

答案实现它的一种方法是使用附加纹理为片段着色器指定要应用的变形。当用户触摸图像以应用变形时,您可以从应用程序修改该纹理内容。
GPUImageBulgeDistortionFilter扩展了GPUImageFilter,它只使用一种纹理。
您需要在GPUImageFilter中使用1复制纹理绑定(glBindTexture)和赋值给片段着色器(glUniform1i),使用1作为新纹理(而不是0)。您还需要复制glGetUniformLocation并使用其他名称而不是inputImageTexture,例如inputImageTexture2。
【如何在android中实现Drag Distortion Image过滤器()】在GPUImageBulgeDistortionFilter修改片段着色器或创建从GPUImageBulgeDistortionFilter派生的新类,以添加“uniform sampler2D inputImageTexture2; n”+
最后添加代码以使用inputImageTexture2纹素在inputImageTexture中在同一片段着色器中变换数据。

    推荐阅读