我正在使用Android-Universal-Image-Loader库来加载我的图像并进行缓存等。我正在尝试使用 JH Labs 库对其应用框模糊过滤器。我试图在 onLoadingComplete 事件中申请过滤,但它看起来不像是可变的位图。有没有人有过对 Android ImageLoader 加载的位图应用过滤器的经验?
问问题
1442 次
1 回答
3
我终于让这个工作了。这是在 onLoadingComplete 事件中应用过滤器的正确方法。但是,由于那里的位图是不可变的,关键是要传入ImageView,再次调用setImageBitmap方法,将过滤后的位图设置为ImageView:
public void displayImageBlurred(String imageUri, final ImageView imageView) {
this.displayImage(imageUri, imageView, true, 0, new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(Bitmap loadedImage) {
int width = loadedImage.getWidth();
int height = loadedImage.getHeight();
BoxBlurFilter filter = new BoxBlurFilter();
filter.setRadius(8.5f);
int[] src = AndroidUtils.bitmapToIntArray(loadedImage);
src = filter.filter(src, width, height);
loadedImage = Bitmap.createBitmap(src, width, height, Config.ARGB_8888);
imageView.setImageBitmap(loadedImage);
}
});
}
public void displayImage(String imageUri, final ImageView imageView, boolean callBackIfCached, long startTime, ImageLoadingListener listener) {
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(imageUri, imageView, defaultOptions, listener);
}
于 2013-05-03T22:52:20.340 回答