我正在尝试捕获我从webview.capturePicture()获取的图片以将其保存到sqliteDatabase,我需要将图像转换为byte []以便能够将其保存为我的表格中的BLOB ,然后能够检索该字节[]并将其转换回位图.
这是我正在做的事情:
Picture p = webView.capturePicture();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
p.writeToStream(bos);
byte[] ba = bos.toByteArray());
Run Code Online (Sandbox Code Playgroud)
然后我通过以下方式检索图像:
byte[] image = cursor.getBlob(imageColumnIndex);
Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length);
Run Code Online (Sandbox Code Playgroud)
我能够很好地检索byte [],但是我从bitmapfactory一直得到一个空位图.
我还注意到,如果我log.d(TAG,""+ bos)我得到了一个很长的字节序列,但是如果我在做bos.toByteArray()之后我做了同样的事情,我只得到一个短数组,这样的事情:[B @ 2b0a7c60
我猜我也很难通过OutputStream转换为byteArray.可以这样,因为capturePiture()方法返回一个OutputStream而不是ByteArrayOutputStream吗?
任何帮助,将不胜感激.