Android: cómo convertir una imagen de webview.capturePicture () a byte [] y volver al mapa de bits

Estoy tratando de capturar la imagen que estoy obteniendo de webview.capturePicture () para guardarla en una base de datos sqlite, para ello necesito convertir la imagen a un byte [] para poder guardarla como un BLOB en mi tabla y, luego, puede recuperar ese byte [] y volverlo a convertir en un mapa de bits.

Esto es lo que estoy haciendo:

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

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

Luego recupero la imagen por:

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

Puedo recuperar el byte [] muy bien, pero obtengo un mapa de bits nulo todo el tiempo desde bitmapfactory.

También me doy cuenta de que si registro.d (TAG, "" + bos) obtengo una secuencia larga de bytes como se esperaba, pero si hago lo mismo ba justo después de hacer bos.toByteArray (), solo obtengo una matriz corta, algo como esto: [B @ 2b0a7c60

Supongo que estoy teniendo problemas para convertir por OutputStream a byteArray. ¿Podría esto porque el método capturePiture () devuelve un OutputStream en lugar de un ByteArrayOutputStream?

Cualquier ayuda sería apreciada.

Respuestas a la pregunta(1)

Su respuesta a la pregunta