如何将 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的主要内容,如果未能解决你的问题,请参考以下文章

如何将文件类型与 iPhone 应用程序相关联?

如何将两个整数相除以获得双精度?

如何将常量与 C# 中的接口相关联?

如何将类别与帖子 wordpress 相关联?

如何将音频数据与时间相关联

如何将营销活动广告与 iOS 应用安装相关联