Я использую фрески для отображения изображений в своем приложении. Прямо сейчас я пытаюсь применить некоторые фильтры к моим изображениям, но проблема в том, что в библиотеке фильтра результат Bitmap. Но draweeView.setImageBitmap устарел.Android fresco lib, применить собственный фильтр
Я также попытался с постпроцессора, как этот
MeshPostprocessor meshPostprocessor = new MeshPostprocessor();
meshPostprocessor.setFilter(filters.get(0));
draweeView = (SimpleDraweeView) view.findViewById(R.id.filter_image);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(image)
.setPostprocessor(meshPostprocessor)
.setResizeOptions(new ResizeOptions(100, 100))
.build();
PipelineDraweeController controller = (PipelineDraweeController)
Fresco.newDraweeControllerBuilder()
.setImageRequest(request)
.setOldController(draweeView.getController())
.build();
draweeView.setController(controller);
и здесь постпроцессор
public static class MeshPostprocessor extends BaseRepeatedPostProcessor {
private AbstractConfig.ImageFilterInterface filter;
public void setFilter(AbstractConfig.ImageFilterInterface filter) {
this.filter = filter;
update();
}
@Override
public String getName() {
return "meshPostprocessor";
}
@Override
public void process(Bitmap bitmap) {
bitmap = filter.renderImage(bitmap);
}
}
так, когда я нажимаю на фильтре я просто запустить этот
meshPostprocessor.setFilter(colorFilterConfig.get(position));
Я попытался с отладчиком, код проходит через все методы (setFilter, процесс и т. Д.), Но изображение не является ch ...
Что мне не хватает?
Мне нужен повторный процессор, потому что я должен иметь возможность менять фильтры много раз. Ваше сообщение было действительно полезным. Все, что мне нужно было сделать, это просто добавить супер в конец –