gpt4 book ai didi

android - 如何在 android 中实现 Drag Distortion Image 过滤器?

转载 作者:IT老高 更新时间:2023-10-28 23:14:32 28 4
gpt4 key购买 nike

我正在开发自定义图像过滤器项目。我遇到了一项具有挑战性的任务,我应该在其中应用失真滤镜,如 Funny face effect app 所示。 .我想开发前 3 个滤镜,可在滑稽脸效果中使用。

为了实现这样的效果,我开始使用 GPUImageView GPUImage在此,它使用搜索栏从中心扭曲图像。我已经实现了 Bulge 失真。但是有什么方法可以实现拖动过滤器,我可以通过拖动手势扭曲我的图像?

我们尝试搜索除 GPUImage 之外的任何其他第三方类。但是我们找不到有用的东西。

我们的查询如下:-

1) 是否可以使用拖动手势应用拖动过滤器? (任何代码 fragment 或引用)

2) 除 GPU 之外的任何其他第三方类可以帮助我们获得上述结果。

提前致谢!

enter image description here

最佳答案

实现它的一种方法是使用附加纹理向 fragment 着色器指定要应用的变形。当用户触摸图像以应用变形时,您可以从应用中修改纹理内容。

GPUImageBulgeDistortionFilter扩展 GPUImageFilter设计为仅使用一种纹理。

您需要复制纹理绑定(bind) (glBindTexture) 并分配给 GPUImageFilter 中的 fragment 着色器 (glUniform1i),使用 1 作为新纹理(而不是 0)。您还需要复制 glGetUniformLocation 并使用其他名称代替 inputImageTexture,例如 inputImageTexture2。

在GPUImageBulgeDistortionFilter处修改 fragment 着色器或创建一个派生自GPUImageBulgeDistortionFilter的新类添加“uniform sampler2D inputImageTexture2;\n” +

最后添加代码以使用 inputImageTexture2 纹素在同一个 fragment 着色器中的 inputImageTexture 处对数据进行变形。

关于android - 如何在 android 中实现 Drag Distortion Image 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43279011/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com