2016-10-18 1 views
0

Я хочу преобразовать bitmap в base64 для сохранения в sharedpreference. Всякий раз, когда я пытаюсь преобразовать его в base64, получается черное растровое изображение, не отформатированное в хорошей форме.При преобразовании растрового изображения в base64 получение черной растровой карты

Вот код для преобразования растрового изображения в base64.

      ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
          b123.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
          byte[] b = baos.toByteArray(); 

          encodedImage = Base64.encodeToString(b, Base64.DEFAULT); 

Спасибо за помощь заранее

+1

посмотреть принятый ответ http://stackoverflow.com/questions/9224056/android-bitmap-to-base64-string –

+0

@Nitin Thakor проверить мой ответ –

ответ

2

Вы сжатое изображение в формате JPEG используйте PNG и попытаться конвертировать в base64.

b123.compress(Bitmap.CompressFormat.PNG, 100, baos); 
2

Попробуйте это:

try{ 
    byte [] encodeByte=Base64.decode(encodedString,Base64.DEFAULT); 
    Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length); 
    return bitmap; 
}catch(Exception e){ 
    e.getMessage(); 
    return null; 
}