2016-04-21 7 views
1

So https://github.com/CyberAgent/android-gpuimage Ich verwende anzuwenden und ich möchte dies erreichen (zu einer Zone des Bildes mit den Filter nur dann Anwendung):Android GPU Bild, wie ein Filter auf einen Teil eines Bildes

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); 

ist es eine Möglichkeit, wie etwas zu tun:

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

oder muss ich tiefer gehen und einen benutzerdefinierten Shader machen?

Antwort

1

Sie müssen Ihren benutzerdefinierten Filter mit selbst geschriebenen Fragment Shader schreiben. Im Fragment-Shader sollten Sie prüfen, auf welches Fragment der Filter angewendet wird.

Verwandte Themen