首页 文章

获取Bitmap附加到BitView

提问于
浏览
285

特定

ImageView image = R.findViewById(R.id.imageView);
image.setImageBitmap(someBitmap);

是否可以检索位图?

6 回答

  • 0
    Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
    
  • 42

    这将从 ImageView 获得 Bitmap . 但是,它与您设置的位图对象不同 . 这是一个新的 .

    imageView.buildDrawingCache();
    Bitmap bitmap = imageView.getDrawingCache();
    

    ===编辑===

    imageView.setDrawingCacheEnabled(true);
     imageView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
                       MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
     imageView.layout(0, 0, 
                      imageView.getMeasuredWidth(), imageView.getMeasuredHeight()); 
     imageView.buildDrawingCache(true);
     Bitmap bitmap = Bitmap.createBitmap(imageView.getDrawingCache());
     imageView.setDrawingCacheEnabled(false);
    
  • -9

    写下面的代码

    ImageView yourImageView = (ImageView) findViewById(R.id.yourImageView);
    Bitmap bitmap = ((BitmapDrawable)yourImageView.getDrawable()).getBitmap();
    
  • -1

    这段代码更好 .

    public static  byte[] getByteArrayFromImageView(ImageView imageView)
        {
            BitmapDrawable bitmapDrawable = ((BitmapDrawable) imageView.getDrawable());
            Bitmap bitmap;
            if(bitmapDrawable==null){
                imageView.buildDrawingCache();
                bitmap = imageView.getDrawingCache();
                imageView.buildDrawingCache(false);
            }else
            {
                bitmap = bitmapDrawable .getBitmap();
            }
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
            return stream.toByteArray();
        }
    
  • 1

    获取图像位图的其他方法是这样做:

    Bitmap imagenAndroid = BitmapFactory.decodeResource(getResources(),R.drawable.jellybean_statue);
    imageView.setImageBitmap(imagenAndroid);
    
  • 769

    试试这段代码:

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

相关问题