如何将 GlideBitmapDrawable 相互转换为 BitmapDrawable
Posted
技术标签:
【中文标题】如何将 GlideBitmapDrawable 相互转换为 BitmapDrawable【英文标题】:How can cast GlideBitmapDrawable to BitmapDrawable reciprocaly 【发布时间】:2018-01-30 15:30:12 【问题描述】:这段代码:
imageView = (ImageView) findViewById(R.id.avatar);
Bitmap photo = ((GlideBitmapDrawable)imageView.getDrawable().getCurrent()).getBitmap();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
photo.compress(Bitmap.CompressFormat.PNG,100,bos);
byte[] bArray = bos.toByteArray();
返回此错误:
E/androidRuntime: 致命异常: main java.lang.ClassCastException: android.graphics.drawable.BitmapDrawable 不能转换为 com.bumptech.glide.load.resource.bitmap.GlideBitmapDrawable
【问题讨论】:
你试过这篇文章了吗-->***.com/questions/37701061/… 实际上我使用 Bitmap.createScaledBitmap(bmp,x,y,bool) 将图像加载到 ImageView 中,现在我想使用 Glide (GlideBitmapDrawable) 检索它以存储在数据库中 这部分是我想要的,也是相反的 【参考方案1】:改变这个:
Bitmap photo = ((GlideBitmapDrawable)imageView.getDrawable().getCurrent()).getBitmap();
到这里:
Bitmap photo = ((BitmapDrawable)imageView.getDrawable().getCurrent()).getBitmap();
【讨论】:
你试过你的代码了吗?如果没有,为什么对任何反对票感到惊讶? 我只是根据有问题的错误给出答案 GlideBitmapDrawable 与BitmapDrawable
无关,因此无法进行转换以上是关于如何将 GlideBitmapDrawable 相互转换为 BitmapDrawable的主要内容,如果未能解决你的问题,请参考以下文章