323

与えられた

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

ビットマップを取得することは可能ですか?

4

7 に答える 7

825
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
于 2011-11-29T06:15:42.090 に答える
46

これにより、Bitmapからが取得されますImageView。ただし、これは設定したものと同じビットマップオブジェクトではありません。新品です。

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);
于 2011-11-29T06:12:10.107 に答える
-4

画像のビットマップを取得する別の方法は、次のとおりです。

Bitmap imagenAndroid = BitmapFactory.decodeResource(getResources(),R.drawable.jellybean_statue);
imageView.setImageBitmap(imagenAndroid);
于 2014-12-19T16:45:49.517 に答える
-10

このコードを試してください:

Bitmap bitmap;
bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
于 2015-06-16T07:23:49.307 に答える