Nullzeiger Ausnahme beim Kombinieren von zwei Bitmap-Bildern

8

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.

%Vor%

Hier ist meine Logcat-Ausgabe, als ich auf Real Device versuchte. (LG Optimus Black P-970)

%Vor%     
Lalit Poptani 04.10.2011, 06:59
quelle

2 Antworten

6

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.

%Vor%

Dies skaliert Ihr Bild entsprechend der Höhe und Breite der Gerätehöhe-Breite. Hoffe, das hilft.

    
MKJParekh 04.10.2011, 11:03
quelle
4

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?

    
Andras Balázs Lajtha 04.10.2011 07:08
quelle

Tags und Links