【发布时间】:2012-05-03 15:46:42
【问题描述】:
我正在尝试捕获从 webview.capturePicture() 获取的图片以将其保存到 sqliteDatabase,我需要将图像转换为 byte[] 以便能够将其保存为 BLOB在我的表中,然后能够检索该字节 [] 并将其转换回位图。
这是我正在做的事情:
Picture p = webView.capturePicture();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
p.writeToStream(bos);
byte[] ba = bos.toByteArray());
然后我通过以下方式检索图像:
byte[] image = cursor.getBlob(imageColumnIndex);
Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length);
我能够很好地检索 byte[],但我总是从 bitmapfactory 得到一个空位图。
我还注意到,如果我 log.d(TAG, ""+bos) 我得到了一个很长的字节序列,但如果我在我做 bos.toByteArray() 之后对 ba 做同样的事情,我只会得到一个短数组,像这样:[B@2b0a7c60
我猜我可能无法通过 OutputStream 转换为 byteArray。这可能是因为 capturePiture() 方法返回的是 OutputStream 而不是 ByteArrayOutputStream 吗?
任何帮助将不胜感激。
【问题讨论】:
标签: android webview bytearray image bytearrayoutputstream