android - 将imageview转换为位图时,位图为空

标签 android bitmap imageview

我需要在图像中添加模糊效果,但是当将 imageview 转换为位图时,它显示错误(NullPointerException)。

查看代码:

// mImages is a list of string (links http of images in web)      
Picasso.with(mContext).load(mImages.get(position)).fit().centerInside().into(imageView);
Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();

最佳答案

利用 Picasso 回调:

Picasso.with(this)
    .load(mImages.get(position))
    .fit()
    .centerInside()
    .into(imageView, new Callback() {
        @Override 
        public void onSuccess() {
            // Drawable is ready
            Bitmap bitmap = ((BitmapDrawable) imageView.getDrawable()).getBitmap();
        }

        @Override 
        public void onError() {

        }
    });

确保 ImageView 的宽度高度不是由WRAP_CONTENT定义的。

这是因为 fit() 在测量时需要 ImageView 的大小。

如果您的 ImageView 的宽度和高度由 WRAP_CONTENT 定义,则其方法 getMeasuredWidth()getMeasuredHeight() 将返回 0,您将看不到图像。

关于android - 将imageview转换为位图时,位图为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42879748/

相关文章:

android - 在 android 通话期间点击按键

java - 如何使用过滤的 RecyclerView 和 OnClickListener 从 ArrayList 中删除项目

android - 如何防止滚动 ListView 时重新加载位图

java - 来自 C,我需要一些帮助来弄清楚如何最好地从输入字符串生成国际象棋位图

android - 如何在android中的触摸事件中获取图像点(或像素)的颜色

iphone - 延迟imageviews xcode

android - 隐藏对象时对象的高度不会降低 - Android 布局

java - 为什么我们必须在 onClick 方法中添加 'View' 作为参数以及它的作用是什么?

android - 如何将缩略图保存为 JPEG 文件?

java - Android给ImageView添加边框图片