首页 > 解决方案 > 从 ImageView 而不是 Drawable 获取图像

问题描述

请注意,我是新手。学习过程中

现在这段代码在做什么?它正在从可绘制的图像中读取图像,然后使用谷歌视觉从中获取文本。

 Bitmap bitmap = BitmapFactory.decodeResource(getApplicationContext().getResources(), R.drawable.changing);
        TextRecognizer textRecognizer = new TextRecognizer.Builder(getApplicationContext()).build();

        if(!textRecognizer.isOperational()){
            Toast.makeText(getApplicationContext(), "", Toast.LENGTH_SHORT).show();
        }
        else
        {
            Frame frame = new Frame.Builder().setBitmap(bitmap).build();

            SparseArray<TextBlock> item = textRecognizer.detect(frame); //Yeh Frame Detect Kr rha he

            StringBuilder sb = new StringBuilder();
            for(int i = 0 ; i<item.size();i++){
                TextBlock myitem = item.valueAt(i);
                sb.append(myitem.getValue());
                sb.append("\n");
            }

注意: R.drawable.chang 是“更改”是我的图像名称的地方。现在我想用我在 ImageView 上上传的图像替换图像。

任何帮助都会奏效。

标签: javaandroidandroid-imageview

解决方案


您可以Bitmap像这样从 imageview获取

Drawable dr = ((ImageView) imView).getDrawable();
Bitmap bmp =  ((GlideBitmapDrawable)dr.getCurrent()).getBitmap();

推荐阅读