我需要从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();


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

最佳答案

String s = getIntent().getStringExtra("ImageUri");
mImageViewFilter = (ImageView) findViewById(R.id.imageViewFilter);


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

Glide.with(this).load(s).into(mImageViewFilter);


因此,为了从ImageView(mImageViewFilter)获取位图

Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();


要么

您可以在试图从ImageView中获取位图的代码之前添加此代码

mImageViewFilter.setDrawingCacheEnabled(true);


为了使用DrawingCache从ImageView中获取位图,首先需要启用ImageView来绘制图像缓存。

Bitmap bitmap = mImageViewFilter.getDrawingCache();

10-07 12:40