Android - Jak przekonwertować obraz z webview.capturePicture () na bajt [] iz powrotem na bitmapę
Próbuję przechwycić obraz, który otrzymuję z webview.capturePicture (), aby zapisać go do bazy danych sqliteDatabase, aby zrobić, muszę przekonwertować obraz na bajt [], aby móc zapisać go jako BLOB w mojej tabeli , a następnie przez możliwość pobrania tego bajtu [] i przekonwertowania go z powrotem na bitmapę.
Oto co robię:
<code>Picture p = webView.capturePicture(); ByteArrayOutputStream bos = new ByteArrayOutputStream(); p.writeToStream(bos); byte[] ba = bos.toByteArray()); </code>
Następnie odzyskuję obraz według:
<code>byte[] image = cursor.getBlob(imageColumnIndex); Bitmap bm = BitmapFactory.decodeByteArray(image, 0, image.length); </code>
Mogę dobrze pobrać bajt [], ale cały czas otrzymuję zerową mapę bitową z bitmapfactory.
Zauważam też, że jeśli I log.d (TAG, "+ bos) otrzymam długą sekwencję bajtów zgodnie z oczekiwaniami, ale jeśli zrobię to samo z ba zaraz po tym, jak zrobię bos.toByteArray (), otrzymam po prostu krótką tablicę, coś takiego: [B @ 2b0a7c60
Zgaduję, że mam problem z przekonwertowaniem przez OutputStream na byteArray. Czy to możliwe, ponieważ metoda capturePiture () zwraca OutputStream zamiast ByteArrayOutputStream?
Każda pomoc byłaby doceniana.