Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
276 views
in Technique[技术] by (71.8m points)

android - GpuImage does not render properly

Currently I am working on an Android App with GpuImage Library. My goal is to apply filters on images via GpuImage.

GpuImage gpuImage = new GpuImage(this);
gpuImage.setBitmap(imageBitmap) // bitmap of the image that I want to apply effect on
gpuImageView = findViewById(R.id.gpuimageview); //it is ImageView
gpuImage.setFilter(new GPUImageSobelEdgeDetection());
gpuImageView.setBitmap(gpuImage.getBitmapWithFilterApplied());

This is how I basically apply effect on image via GpuImage and get filter applied bitmap. But when I quickly apply effects to the image in sequence with different GpuImage filters like shown below:

ArrayList filtersList = new ArrayList<GpuImageFilter>()
...
//Fill the array with various GpuImage filters
...
GpuImage gpuImage = new GpuImage(this);
gpuImage.setBitmap(imageBitmap) // bitmap of the image that I want to apply effect on
button = findViewById(R.id.button);
gpuImageView = findViewById(R.id.gpuimageview); //it is ImageView

//button that changes filter at every click
button.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
    if(filtersList.size() > 0){
        gpuImage.setFilter(filtersList.get(filtersList.size()-1));
        filtersList.remove(filtersList.size()-1);
        gpuImageView.setBitmap(gpuImage.getBitmapWithFilterApplied());
    }

});

When I click on the button repeatedly and quickly, I get a bitmap with just filled with a color like gray. Is there any way to prevent this issue? Or how can I be sure that is GpuImage is done with the rendering before I apply another effect?

question from:https://stackoverflow.com/questions/65845503/gpuimage-does-not-render-properly

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
Waitting for answers

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...