Android - So konvertieren Sie ein Bild von webview.capturePicture () in Byte [] und zurück in eine Bitmap

Ich versuche, das Bild, das ich von webview.capturePicture () erhalte, zu erfassen, um es in einer sqliteDatabase zu speichern. Dazu muss ich das Bild in ein Byte [] konvertieren, um es als BLOB in meiner Tabelle speichern zu können und dann in der Lage, dieses Byte [] abzurufen und es wieder in eine Bitmap umzuwandeln.

Folgendes mache ich:

<code>Picture p = webView.capturePicture();  
ByteArrayOutputStream bos = new ByteArrayOutputStream();  
p.writeToStream(bos);

byte[] ba = bos.toByteArray());
</code>

Ich rufe das Bild dann ab durch:

<code>byte[] image = cursor.getBlob(imageColumnIndex);
Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length);
</code>

Ich kann das Byte [] problemlos abrufen, erhalte aber immer eine Null-Bitmap von bitmapfactory.

Ich bemerke auch, dass wenn ich log.d (TAG, "" + bos) bekomme ich eine lange Folge von Bytes wie erwartet, aber wenn ich das gleiche mache, kurz nachdem ich bos.toByteArray () mache, bekomme ich nur ein kurzes Array, eine Sache wie diese: [B @ 2b0a7c60

Ich schätze, ich habe Probleme, von OutputStream nach byteArray zu konvertieren. Könnte dies daran liegen, dass die capturePiture () -Methode einen OutputStream anstelle eines ByteArrayOutputStream zurückgibt?

Jede Hilfe wäre dankbar.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage