Mam obraz z internetu w postaci ImageView
. Jest bardzo mały (favicon) i chciałbym go przechowywać w mojej bazie danych SQLite. Mogę uzyskać Drawable
z mImageView.getDrawable()
, ale nie wiem, co dalej. Nie w pełni rozumiem klasę Drawable
w systemie Android.Do bajtów []
wiem, że mogę dostać tablicę bajtów na podstawie Bitmap
jak:
Bitmap defaultIcon = BitmapFactory.decodeStream(in);
ByteArrayOutputStream stream = new ByteArrayOutputStream();
defaultIcon.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] bitmapdata = stream.toByteArray();
Ale jak mogę uzyskać tablicę bajtów na podstawie Drawable
?
Dziękuję za oczywistość !! Nie myślał o rzuceniu tego. –
Powinna to być: bitmap.compress (Bitmap.CompressFormat.JPEG, 100, strumień); W przeciwnym razie strumień nie zawiera danych ... – Entreco
@Cristian i zapisałem bitmapdata w bazie danych jako BLOB, ponownie gdy odzyskam mój drawable z BLOBa, tło staje się czarne. Czy możesz mi pomóc? Chcę, aby tło było przezroczyste, tak jak przed zapisaniem w bazie danych. –