我需要在图像中设置效果模糊,但当将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.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的
width
和height
不是由WRAP_CONTENT
定义的。这是因为
fit()
在测量时需要imageview的大小。如果
ImageView
的宽度和高度由WRAP_CONTENT
定义,则其方法getMeasuredWidth()
和getMeasuredHeight()
将返回0,您将看不到图像。