2016-08-03 42 views
0

ich this bezeichnen SO Frage, die vorgeschlagen, eine Bitmap aus einem Image bekommen durch diese gerade tun:Get angebracht Bitmap Image mit Hintergrund

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

Das Problem, das ich bin vor ist, wenn ich zuerst die background gesetzt ein ImageView, gefolgt von src und dann mit der vorgeschlagenen Lösung, ich bekomme nur die Bitmap als src Bild. Es enthielt nicht den background Teil dieses ImageView. Was fehlt mir hier?

+0

FYI http://stackoverflow.com/questions/8306623/get-bitmap-attached-to-imageview –

+0

@ChintanKhetiya Hast du überhaupt die Frage gelesen? Das vierte Wort dieser Frage enthält den gleichen Frage-Link, den Sie angegeben haben und der ** nicht ** für mich funktioniert. –

+0

Ihre angenommene Antwort ist dieselbe Antwort, auf die Sie bereits per Link hingewiesen haben, und deshalb zeige ich sie erneut an, um sie klarer zu machen. Das ist es. –

Antwort

1

Versuchen Sie, Bitmap mit DrawingCache .. try folgenden Code:

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 
+0

Das hat funktioniert. Nur mit der Zeile image.setDrawingCacheEnabled (false); brauchte es Zeit. Als ich das entfernte, war die Verzögerung weg. Es hat jedoch in beiden Fällen funktioniert. Vielen Dank ! –

+0

Sie sind herzlich willkommen :) –

0

Sie können

Bitmap bitmap = ((BitmapDrawable)((LayerDrawable)imageViewPlayPause.getDrawable()).getDrawable(0)).getBitmap(‌​); 

erhalten Bilder von Index 0 und 1, und Kontrollschicht der Bilder erhalten Welches Bild bekommst du?