Android GPU图像,如何将滤镜应用于图像的一部分

时间:2016-04-21 17:15:58

标签: android image gpu

所以我使用https://github.com/CyberAgent/android-gpuimage并且我希望实现此目的(仅将滤镜应用于图像的区域):

enter image description here

Uri imageUri = ...;
mGPUImage = new GPUImage(this);
mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.surfaceView));
mGPUImage.setImage(imageUri);
sepiaFilter = new GPUImageSepiaFilter()
mGPUImage.setFilter(sepiaFilter);

有没有办法做类似的事情:

TextureZone textureZone = new TextureZone(...);
sepiaFilter.setFilterOnlyOn(textureZone)

或者我是否需要更深入地制作自定义着色器?

1 个答案:

答案 0 :(得分:1)

您必须使用自编写的片段着色器编写自定义过滤器。在片段着色器中,您应该检查过滤器将应用哪个片段。