我需要在图像中添加模糊效果,但是当将 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/