Ich verwende eine Methode für combine two Bitmap Images
und schreibe in SDCard
. Die App. funktioniert gut im Emulator, aber als ich versuchte, es auf dem Real Device auszuführen, durchläuft es Null Pointer Exception
in dieser Zeile cs = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
, das ist ein new Bitmap
, auf dem ich beide Bilder zeichnen werde, die mit kombiniert werden sollen %Code%.
Nun, hier in Canvas
ist das erste Argument das combineImages(Bitmap background, Bitmap foreground)
Bild und das Bitmap from Camera
. Die Bitmap von Camera ist ein second is the forefround Gallery item
, ich denke das ist das einzige was mich in Schwierigkeiten bringt. Also, könnte jemand mir eine nette Lösung geben, um ein Bild aus static Bitmap
als Camera
Speicher zu speichern, so dass ich kein Problem mache, das es weiter verwendet.
Hier ist meine Logcat-Ausgabe, als ich auf Real Device versuchte. (LG Optimus Black P-970)
%Vor% Ich schätze, das Problem könnte die Größe der Bitmap sein, die Sie erzeugen, indem Sie ein Bild von der Kamera aufnehmen. Also, versuchen Sie es besser mit Bitmap.createScaledBitmap()
Methode.
Dies skaliert Ihr Bild entsprechend der Höhe und Breite der Gerätehöhe-Breite. Hoffe, das hilft.
Sie können grundsätzlich keine Null-Zeiger-Ausnahme an der von Ihnen angegebenen Zeile erhalten, vorausgesetzt, Bitmap ist korrekt implementiert:
%Vor%createBitmap ist statisch. Bitmap.Config.ARGB_8888 ist statisch. Breite, Höhe sind Ints.
Was könnte möglicherweise null sein? Könnten Sie den Stack-Trace der Ausnahme veröffentlichen? Bist du dir über die Linie sicher?
Tags und Links android