请注意,我是NEWBIE。在学习过程中
现在这段代码在做什么?它正在从可绘制图像中读取图像,然后使用Google视觉从图像中获取文本。
a[-1]
注意: R.drawable.changing是“更改”是我的图像名称。 现在,我想用我在ImageView上载的图像替换图像。
任何帮助都会起作用。
答案 0 :(得分:0)
您可以简单地使用ImageView.getDrawable()
从ImageView中获取图像。但是,drawable不一定是BitmapDrawable(我认为您的changing
drawable是)。
要获取ImageView的可绘制对象的实际位图,您可能需要进一步了解如何从Android可绘制对象创建位图。在StackOverflow中有很多答案,因此在此不再赘述。
基本上,它将创建一个位图和一个画布,然后使Drawable通过画布将其自身绘制到位图中。
答案 1 :(得分:0)
您可以像这样从imageview获取Bitmap
Drawable dr = ((ImageView) imView).getDrawable();
Bitmap bmp = ((GlideBitmapDrawable)dr.getCurrent()).getBitmap();
答案 2 :(得分:0)
如果要从可绘制图像中获取图像,可以尝试以下方法:
imageView.invalidate();
BitmapDrawable drawable = (BitmapDrawable) imageView.getDrawable();
Bitmap bitmap = drawable.getBitmap();
如果您从图库之类的资源中获取图片:
if (requestCode == SELECT_FILE)
{
Uri selectedImageUri = data.getData();
Bitmap bitmap = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
imageview.setImageBitmap(bitmap);
}
从相机获取图像的另一种选择:
if(requestCode == REQUEST_CAMERA)
{
Bundle bundle = data.getExtras();
final Bitmap bmp = (Bitmap) bundle.get("data");
imageview.setImageBitmap(bmp);
}
其中SELECT_FILE和REQUEST_CAMERA只是一个整数:
int SELECT_FILE = 0;
int REQUEST_CAMERA = 1;