-
Notifications
You must be signed in to change notification settings - Fork 117
Closed
Description
I've noticed that GroupFilter doesn't work or maybe I use it in a wrong way.
I want to process image from ImageView that is set in RelativeLayout.
My GroupFilter class:
class MyGroupFilter extends GroupFilter {
public void register(BasicFilter filter) {
super.registerFilter(filter);
}
public void registerInitial(BasicFilter filter) {
super.registerInitialFilter(filter);
}
public void registerTerminal(BasicFilter filter) {
super.registerTerminalFilter(filter);
}
}
MyGroupFilter groupFilter = new MyGroupFilter();
Here is my init code:
view = new FastImageProcessingView(this);
pipeline = new FastImageProcessingPipeline();
view.setPipeline(pipeline);
imageIn = new ImageResourceInput(view, this, R.drawable.penguins2);
screen = new ScreenEndpoint(pipeline);
imageIn.addTarget(screen);
pipeline.addRootRenderer(imageIn);
pipeline.startRendering();
relativeLayout.addView(view);
I have two buttons (plus and minus) for controlling brightness level and also two buttons for controlling saturation level. Every time I push any button, my filter method is invoked with appropriate value of brighnessLevelF and saturationLevelF (which are floats and represent levels of brightness and saturation). Method body:
pipeline.pauseRendering();
imageIn.removeTarget(groupFilter);
pipeline.addFilterToDestroy(groupFilter);
BrightnessFilter brightnessFilter = new BrightnessFilter(brighnessLevelF);
brightnessFilter.addTarget(screen);
SaturationFilter saturationFilter = new SaturationFilter(saturationLevelF);
saturationFilter.addTarget(screen);
groupFilter.registerInitial(brightnessFilter);
groupFilter.registerTerminal(saturationFilter);
imageIn.addTarget(groupFilter);
pipeline.startRendering();
view.requestRender();
It works but only brightness level is changing. Am I doing something wrong?
Metadata
Metadata
Assignees
Labels
No labels