如何从imageView获取位图

Ste*_*nda 2 android bitmap android-bitmap

我需要从 imageView 中获取图像并将其作为位图。

String s = getIntent().getStringExtra("ImageUri");
mImageViewFilter = (ImageView) findViewById(R.id.imageViewFilter);
Glide.with(this)
          .load(s)
          .into(mImageViewFilter);
Bitmap bitmap = ((BitmapDrawable)mImageViewFilter.getDrawable()).getBitmap();
Run Code Online (Sandbox Code Playgroud)

您可以在 mImageViewFilter 中看到,我正在使用其 URI 和 Glide 库加载照片。我的下一步是拍摄 mImageViewFilter 中的这张照片并将其制作为位图。在最后一行代码之后有一个异常。我究竟做错了什么?

Man*_*ish 6

String s = getIntent().getStringExtra("ImageUri");
mImageViewFilter = (ImageView) findViewById(R.id.imageViewFilter);
Run Code Online (Sandbox Code Playgroud)

要将图像加载到 ImageView 中,请使用以下代码

Glide.with(this).load(s).into(mImageViewFilter);
Run Code Online (Sandbox Code Playgroud)

所以为了从 ImageView 获取位图(mImageViewFilter)

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
Run Code Online (Sandbox Code Playgroud)

或者

您可以在尝试从 ImageView 中获取 Bitmap 的代码之前添加它

mImageViewFilter.setDrawingCacheEnabled(true);
Run Code Online (Sandbox Code Playgroud)

为了使用DrawingCache从ImageView中取出Bitmap,首先需要启用ImageView来绘制图片缓存。

Bitmap bitmap = mImageViewFilter.getDrawingCache();
Run Code Online (Sandbox Code Playgroud)