Okay, also ich habe einen Code, die ein Bild der aktuellen Ansicht nehmen und es in eine Bitmap dreht, dann beende ich hier oben,Speicher einen BitmapDrawable oder Bitmap
Bitmap bm = view.getDrawingCache();
BitmapDrawable bitmapDrawable = new BitmapDrawable(bm);
jetzt, was ich Ich versuche zu machen, ist ein Bild von dem, was die aktuelle Ansicht aussieht, aber von hier aus kann ich bitmapDrawable
in ein ImageView setzen, aber das ist nicht das, was ich will, ich möchte von hier aus gehen, um es zu speichern. Was kann ich tun? Ich fand einen Ausweg,
FileOutputStream fos;
try {
fos = super.openFileOutput("output.png",MODE_WORLD_READABLE);
bm.compress(CompressFormat.PNG, 75, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
verwenden, aber wenn ich das tue, ich am Ende mit einem Nullpointer bei
bm.compress(CompressFormat.PNG, 75, fos);
bin ich etwas fehlt?
Okay, jetzt ist es es durch den obigen Code macht, macht es dann vorbei an fos.close();
zu beenden, aber dann passiert nichts, es ist nicht gespeichert, nicht auf meinem Handy, nichts
zwei Dinge, ja, aber wie poste ich die Stack-Trace? und wenn ich es in eine Bildansicht stelle, funktioniert es und zeigt das Bild. – Samuel
Könnte das das Problem sein? http://stackoverflow.com/questions/2817166/android-2-1-views-getdrawingcache-method-always-returns-null –
Ich bin mir nicht sicher, was ich mit OnLayout (0, 0, 100, 100) zu tun habe; .. – Samuel