我提到了this这个问题,建议通过这样做从ImageView获取一个Bitmap:
Bitmap bitmap = ((BitmapDrawable)image.getDrawable()).getBitmap();
我面临的问题是,当我第一次设置ImageView的background
,然后是src
然后使用建议的解决方案时,我只将位图作为src
图片。它没有包含background
的{{1}}部分。我在这里缺少什么?
答案 0 :(得分:1)
尝试使用 DrawingCache 获取位图。 尝试以下代码:
image.setDrawingCacheEnabled(true);
// this is the important code :)
// Without it the view will have a dimension of 0,0 and the bitmap will be null
image.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),
MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));
image.layout(0, 0, image.getMeasuredWidth(), image.getMeasuredHeight());
image.buildDrawingCache(true);
Bitmap bitmap = Bitmap.createBitmap(image.getDrawingCache());
image.setDrawingCacheEnabled(false); // clear drawing cache
答案 1 :(得分:0)
您可以通过
获取图像层Bitmap bitmap = ((BitmapDrawable)((LayerDrawable)imageViewPlayPause.getDrawable()).getDrawable(0)).getBitmap();
按索引0和1获取图像,并检查你得到的图像。