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